Kako iz nule inštalirati Apache 2.2.8, MySQL 5.0.51 in PHP 5.2.5 na Ubuntu Dapper (6.06)

jan. 28 2008 Published by alesl under Code snippets, Tutorials

Pred dobrim tednom sem si omislil VPS (virtual private server). Potreba po VPS-ju izhaja predvsem po želji izboljšati znanje Linux-a in administracije strežnikov.
Izbira ponudnika spletnega gostovanja je kar teška odločitev, saj jih je kot gob po dežju. Izbral sem Host Europe, prvensteveno zaradi nizke cene 20 EUR.
V drugem planu pa me je pritegnila dodatna ponudba: Hardware, lastna izbira operacijskega sistema (Debian, Ubuntu, SUSE). Do sedaj sem imel opravka z Debianom in Ubuntujem.
Ker sem slednjega malenkost več uporabljal, sem se odločil za Ubuntu brez Pleska. Prvotno veselje je malce popustilo, ko sem pogruntal da je distribucija Ubuntuja, ki je inštalirana na VPS-ju trenutno še verzija 6.06 iz junija 2006, kar dejansko pomeni da so softverski paketi že malce zastareli. Next time read FAQ! :)


Za povprečnega uporabnika je to zadovoljivo, saj lahko z orodjem apt inštaliramo:

  • Apache: 2.0.55
  • PHP HP 4.4.2 in 5.1.2
  • MySQL 5.0.22

Zadnji moji projekti močno bazirajo na knjižicah Zend Frameworka, ki pa rabijo verzijo PHP-ja vsaj 5.1.4 (priporočljiva je uporaba 5.2.3 naprej). Kar pomeni, da bi se lahko pod nosom obrisal, da bi VPS uporabljal kot platformo za razvoj, z samo predpripravljenimi paketi seveda.

Ostali sta mi dve opciji:

  • building in compiling iz nule
  • download in usposobitev XAMPP-a[1]

Predvsem zaradi varnosti in dejstvu, da imam rad vajeti vedno v rokah, sem se odločil, da bom inštaliral veliko trojico iz nule. Pljunil sem v roke, ter zavihal rokave … ./configure, make in make install so bili dva dni moji hardcore spremljevalci. Ker je bil to moj prvi podvig inštalacije apache, mysql in php-ja iz source datotek, je bilo veselje ko je vse skupaj zalaufalo brez napak toliko večje.

Za vse, ki bi kdaj želeli ubosti podoben podvig, pa sem pripravil nekaj skript, da vam bo stvar lažje šla od rok.

How to Build Apache 2.2.8, MySQL 5.0.51, PHP 5.2.5 on Ubuntu Dapper (6.06)

Poglejmo konfiguracijo:

  • Apache/2.2.8 mod_ssl/2.2.8 OpenSSL/0.9.7m DAV/2
  • MySQL 5.0.51 z SSL podporo
  • PHP 5.2.5 v večino dodatkov ki jih rabim pri razvoju: cURL, OpenSSL, PDO MySQL, IMAP, …

Na kakšne večje težave nisem naletel. OpenSSL verzija 0.9.8 se nikakor ni hotela skompajlirat z MySQL-om, tako da sem potem ubodel eno minor verzijo niže. Nekatere skripte (imap, PDO_MySQL) so v configuracijskih datotekah narobe referencirale nekatere knjižice. To se najlažje reši z simboličnim linkanjem na zahtevane knjižice.

Še kratka navodila. Skripte, ki jih najdete v zip-u prebirajte in zaganjajate v tem vrstem redu[2]:

  • preberi apache2-pre-install.txt
  • zaženi apache2-download.sh
  • zaženi apache2-install.sh
  • preberi apache2-post-install.txt
  • enako storitze še za mysql ter php

Apache laufa pod svojim userjem, prav tako MySQL. Ne pozabite še nastavit root gesla za MySQL uporabnika. V primeru da se compiler ustavi in ne boste vedeli, kaj je narobe, sem vam na voljo :)

Še vpogled v eno od shell skript – apache2-download.sh

#!/bin/sh

#
# Downloads and unpacks apache2 with dependencies
#
# @author Ales Loncar <[email protected]>
# @copyright 	Copyright (c) 2008 Internet Solutions
# @license GNU Public License
# @link http://www.internet-solutions.si
# @version 1.0

echo
echo apache2-download.sh
echo - This script downloads and unpacks all prerequisite packages
echo - Run this script before apache2-install.sh
echo
read -p  "(Press any key to continue)" temp;
echo

# Abort on any errors
set -e

#source directory (/usr/local/src)
SRCDIR=/usr/local/src

# Set DISTDIR to somewhere persistent, if you plan to muck around with this
# script and run it several times!
DISTDIR=/usr/local/dist

# Update version information here.
# Zlib
ZLIB="zlib-1.2.3"
# OpenSSL
OPENSSL="openssl-0.9.7m"
# libiconv
LIBICONV="libiconv-1.12"
# apache2
HTTPD="httpd-2.2.8"

cd ${DISTDIR}

# Get all the required packages
echo
echo --- Downloading all required packages ---
echo

# Zlib
wget -c http://www.zlib.net/${ZLIB}.tar.gz
# OpenSSL
wget -c http://www.openssl.org/source/${OPENSSL}.tar.gz
# libiconv
wget -c http://ftp.gnu.org/pub/gnu/libiconv/${LIBICONV}.tar.gz
# apache2
wget -c http://www.apache.si/httpd/${HTTPD}.tar.gz

echo
echo --- Unpacking downloaded archives. This process may take several minutes! ---
echo

cd ${SRCDIR}
# Unpack them all
# Zlib
echo Extracting ${ZLIB}...
tar xzf ${DISTDIR}/${ZLIB}.tar.gz > /dev/null
echo Done.
# OpenSSL
echo Extracting ${OPENSSL}...
tar xzf ${DISTDIR}/${OPENSSL}.tar.gz > /dev/null
echo Done.
# libiconv
echo Extracting ${LIBICONV}...
tar xzf ${DISTDIR}/${LIBICONV}.tar.gz > /dev/null
echo Done.
# apache2
echo Extracting ${HTTPD}...
tar xzf ${DISTDIR}/${HTTPD}.tar.gz > /dev/null
echo Done.

echo --------------------------------------------------
echo -- Done downloading and unpacking prerequisites --
echo --------------------------------------------------

Happy blogging(coding)!

  1. Uporabo XAMPP-a odsvetujejo v produksijskem okolju, zaradi prešibke varnosti nekaterih procesov, ki laufajo brez gesel []
  2. Za zagon shell skript rabite root privilegije. Ne pozabite jim nastavit execute pravic: chmod +x []

Sorodni zapisi:

4 responses so far

  • wamp je rekel/rekla:

    kako zrihtaš virtual server za winamp. sam probavam z apche 2.2.9, php 5.2.6 in mysql 5.0.51b pa nemam za burek. dobrodošla pomoč.

  • alesl je rekel/rekla:

    Najverjetneje misliš WAMP. Poslal sem ti mail, saj tako na pamet ne da bi videl konfiguracijske datoteke, ne morem pomagat.

  • anonimen je rekel/rekla:

    Če inštaliraš apache 2.2 ali bo vselih delovalo PHP HP 4.4.2 in MySQL 5.0.22 ???

  • alesl je rekel/rekla:

    Ne vidim razloga da ne bi. Ne vem pa zakaj forsiras PHP 4, saj je od 7.8.2008 PHP 4 uradno mrtev (last release je 4.4.9) :). Aleluja!

Leave a Reply

Powered by WP Hashcash