Skip to content


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

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-a1
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 redu2:
  • 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 <ales.loncar@internet-solutions.si>
# @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

Deli in uživaj:
  • Digg
  • del.icio.us
  • Reddit
  • StumbleUpon
  • Technorati
  • Facebook
  • Blogosphere News
  • Google Bookmarks
  • Twitter
  • E-mail this story to a friend!
  • LinkedIn
  • MySpace
  • HelloTxt
  • Ping.fm
  • DZone
  • Mixx
  • Sphinn

Sorodni zapisi:

Posted in Code snippets, Tutorials.

Tagged with , , , .


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. wamp says

    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č.

  2. alesl says

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

  3. anonimen says

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

  4. alesl says

    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!



Some HTML is OK

or, reply to this post via trackback.