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:
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)!
- Uporabo XAMPP-a odsvetujejo v produksijskem okolju, zaradi prešibke varnosti nekaterih procesov, ki laufajo brez gesel [↩]
- Za zagon shell skript rabite root privilegije. Ne pozabite jim nastavit execute pravic: chmod +x [↩]
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č.
Najverjetneje misliš WAMP. Poslal sem ti mail, saj tako na pamet ne da bi videl konfiguracijske datoteke, ne morem pomagat.
Če inštaliraš apache 2.2 ali bo vselih delovalo PHP HP 4.4.2 in MySQL 5.0.22 ???
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!