Prosle nedelje smo instalirali FreeBSD. Sada cemo instalirati softver da bi hostovali nas web sajt(ove).
Ovaj dokument pretpostavlja:
Sve ovo gore navedeno je obuhvaceno u Prvom delu ovog serijala
# Linije koje pocinju sa '#' su komentari. # Samo ih procitajte; Nemojte ih ukucavati Ovo je komanda koja se treba ukucati u terminal
Moja je preporuka da ostavite FTP iskljucenim (podrazumevano na FreeBSD). FTP nije ni izbliza siguran kao SFTP ili SCP. Skoro svaki moderni FTP klijent podrzava SFTP a i SFTP daemon podrazumevano radi na FreeBSD-u.
Primeticete i da cemo kompajlirati sav softver iz izvornih fajlova, tako sto cemo preuzeti izvorni kod (PHP, Apache, MySQL) ili cemo ga dobiti preko FreeBSD sistema portova.
Vise volim da kompajliram svoj softver na serveru, a ne da preuzmem vec kompajlirane pakete zato sto:
Korisnik web ce biti vlasnik PHP konfiguracionog fajla (php.ini) i Apache-ovog konfiguracionog fajla (httpd.conf). Ovo je osnovni korisnik kojeg cete koristiti kao webmaster na ovom serveru.
Idemo…
Putanje Naloga Posto kompajliramo Apache i MySQL, reci cemo shell-u gde da trazi ove binarne pakete. Ovo vam omogucava da izvrsavate kratke komande kao 'apachectl', umesto '/usr/local/apache/bin/apachectl'.
# uradite sledece kao web i KAO root
vi ~/.cshrc
# dodajte sledece nakon 'set path = ('
/usr/local/apache/bin /usr/local/mysql/bin
# Kao web, otvorite ~/.cshrc i dodajte sledece:
set prompt="% "
# kao root: cd /usr/ports/ftp/wget make install cd /usr/ports/lang/python make install
Sada mozete preuzeti izvorne fajlove kao npr: “wget http://server/path/file.tar.gz”
Preuzmite najsveziji kod za:
Za svaku aplikaciju, preuzmite *.tar.gz izvorni fajl.
Prvo cu kreirati /src direktorijum u mom home. Onda cu koristiti web stranice iznad da nadjem URL za najsveziji izvorni fajl i preuzeti tar.gz direktno na web serveru sa wget:
wget http://us2.php.net/get/php-5.1.2.tar.gz/from/this/mirror
# kao web: mkdir ~/src ~/src/tars cd ~/src # preuzmite kod wget [mysql source] wget [php source] wget [apache source] # dekompresujete kod tar xvfz mysql* tar xvfz php* tar xvfz httpd* # premestite kompresovani kod u ~/src/tars # za slucaj da nam zatreba kasnije mv *.gz tars
Sada vas home direktorijum treba izgledati ovako:
/home/web
/src/
/httpd.../
/mysql.../
/php.../
/tars/
/httpd...tar.gz
/mysql...tar.gz
/php...tar.gz
# kao web: cd ~/src/mysql* ./configure --prefix=/usr/local/mysql \ --without-debug \ --with-extra-charsets=none \ --enable-local-infile \ --enable-assembler make # postanite root su make install ./scripts/mysql_install_db /usr/local/mysql/bin/mysqld_safe --user=root & # Kreirajte MySQL start up sriptu vi /usr/local/etc/rc.d/mysql.sh # dodajte sledece vasem novom, praznom fajlu echo -n "Starting MySQL Server"; /usr/local/mysql/bin/mysqld_safe --user=root & # upisite/zatvorite vi chmod 700 /usr/local/etc/rc.d/mysql.sh # izadjite iz root
Sada pokrenite MySQL i postavite root lozinku i mysql nalog. Jos uvek cete morati da podesite unose u db tabeli kasnije da dozvolite pristup do databaze za mysql korisnika.
Zamenite ROOT-PWD lozinkom koju cete koristiti za MySQL root korisnika.
/usr/local/mysql/bin/mysql -u root
mysql> UPDATE mysql.user
SET password = PASSWORD('ROOT-PWD')
WHERE User='root';
mysql> UPDATE mysql.user
SET user = 'mysql'
WHERE User=;
mysql> FLUSH PRIVILEGES;
mysql> exit
Kreirajte fajl sa korisnickim opcijama za root-a. Ovaj fajl ce sadrzati root-ovu mysql lozinku tako da moze da se loguje automatski.
su vi ~/.my.cnf
Ukucajte sledeci tekst u .my.cnf fajl.
Promenite “ROOT-PWD” u lozinku koju ste koristili za MySQL root korisnika.
# Dodajte sledece # Primer mysql konfiguracionog fajla. # Mozete kopirati ovo do jednog od: # /usr/local/mysql/etc/my.cnf za podesavanje globalnih opcija, # mysql-data-dir/my.cnf za podesavanje server-specific opcija (u ovoj # instalaciji ovaj direktorijum je /usr/local/mysql/var) ili # ~/.my.cnf za podesavanje user-specific opcija. # # Mogu se koristiti sve opcije koje program podrzava. # Pokrenite program sa --help za listu dostupnih opcija # Ovo ce biti prosledjeno svim mysql klijentima [client] password = "ROOT-PWD" #port = 3306 #socket = /tmp/mysql.sock # # Ovo su unosi za neke specificne programe # Sledece vrednosti pretpostavljaju da imate barem 32M ram-a # # MySQL server [mysqld] #port = 3306 #socket = /tmp/mysql.sock #skip-locking #set-variable = key_buffer=16M #set-variable = max_allowed_packet=1M #set-variable = thread_stack=128K set-variable = max_connections=200 set-variable = ft_min_word_len=3 # Start logging #log # #[mysqldump] #quick #set-variable = max_allowed_packet=16M # #[mysql] #no-auto-rehash # [isamchk] #set-variable = key_buffer=16M set-variable = ft_min_word_len=3 [myisamchk] set-variable = ft_min_word_len=3 [mysqld_safe] time_zone = EDT
Chmod-ujte fajl
chmod 700 /root/.my.cnf
# kao root, pokrenite 'make install' u sledecim direktorijumima cd /usr/ports/security/libmcrypt make install cd /usr/ports/security/mcrypt make install # make install u svim sledecim: cd /usr/ports/ftp/curl cd /usr/ports/databases/freetds cd /usr/ports/textproc/libxml2 cd /usr/ports/textproc/aspell cd /usr/ports/textproc/libxdiff
Jos PHP/Apache2 install informacija
Preuzmite apache - http://httpd.apache.org – i instalirajte sa 'shared-object' (so) podrskom
# kao web: cd ~/src/httpd-2* ./configure --prefix=/usr/local/apache \ --with-mpm=worker \ --enable-so \ --enable-cgi \ --enable-info \ --enable-rewrite \ --enable-speling \ --enable-usertrack \ --enable-deflate \ --enable-ssl \ --enable-mime-magic \ --enable-module=expires \ --enable-module=proxy make # kao root: make install
# kao web: cd ~/src/php* ./configure --with-apxs2=/usr/local/apache/bin/apxs \ --with-mysql=/usr/local/mysql \ --enable-calendar \ --enable-trans-sid \ --with-curl=/usr/local \ --with-sybase=/usr/local/freetds \ --enable-ftp \ --with-mcrypt \ --with-pspell \ --with-xdiff make # Za nove instalacije, kreirajte prazne reference za konfiguraciju ciji je vlasnik 'web' # Postanite root touch /usr/local/lib/php.ini touch /usr/local/lib/php.ini.bak chown web /usr/local/lib/php.ini* # kao root: make install # kopirajte konfiguracioni fajl cp php.ini-dist /usr/local/lib/php.ini chown web /usr/local/lib/php.ini*
Sada su PHP i Apache instalirani. Jos uvek moramo da uredimo apache-ov konfiguracioni fajl da cita PHP.
vi /usr/local/apache/conf/httpd.conf # potrazite "AddType"; dodajte sledece tri linije # PHP AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps # Uklonite podrazumevanu deny access konfiguraciju tako sto # cete pretraziti za <Directory /> i # staviti pod komentar (staviti # znak ispred) "Deny from all"
apachectl start # Kreirajte Apache start up skriptu vi /usr/local/etc/rc.d/apache.sh # dodajte sledece linije vasem novom, praznom fajlu echo -n "Starting Apache Web Server"; /usr/local/apache/bin/apachectl start & # upisite/zatvorite vi chmod 700 /usr/local/etc/rc.d/apache.sh
PEAR je skladiste korisnih PHP klasa. One se mogu instalirati pomocu alatke u komandnoj liniji, pear
# instalirajte stable classes # podrazumevano, pear installer radi sa stable classes # postanite root su pear install Mail_Mime pear install PhpDocumentor # instalirajte BETA Excel Writer zato sto razbija. pear remote-list # ako ne vidite 'Spreadsheet_Excel_Writer', jos uvek je beta # podesite pear na beta mod pear config-set preferred_state beta pear remote-list # sada bi trebalo da vidite Spreadsheet... pear install OLE pear install Spreadsheet_Excel_Writer # vratite se na stable state pear config-set preferred_state stable # izadjite iz root exit
Morate da budete root korisnik da bi instalirali ove korisne aplikacije za odrzavanje sistema
# 'make install' za sledece cd /usr/ports/graphics/ImageMagick cd /usr/ports/net/cvsup cd /usr/ports/net/cvsup-without-gui cd /usr/ports/sysutils/portupgrade cd /usr/ports/net/rsync
# www direktorijum mkdir /home/www ln -s /home/www /usr/local/ # ucinite da 'web' postane vlasnik nekih apache fajlova chown -R web /home/www /usr/local/apache/cgi-bin /usr/local/apache/conf/httpd.conf # linkovi za web-ov home direktorijum ln -s /usr/local/apache /home/web/apache ln -s /home/www /home/web/www
Podesite web-ov i root nalog da prosledjuju do vas. Posta do web servera (niko) se treba izbrisati
# kao root vi /etc/mail/aliases
dodajte sledece linije:
root: user@example.com web: user@example.com
Kao root, rebuild-ujte vase mail aliases tako sto kucate
newaliases
Toliko za sada. Skuvajte sebi kafu. Otvorite prozor i udahnite svez vazduh.
U trecem delu, konfigurisacemo sve i postaviti web stranicu.
![]() | Prvi Deo / Instalacija FreeBSD sistema | Treci Deo / Konfiguracija | ![]() |
Izvor: http://www.imarc.net/blog/52/run_your_own_unix_web_server_part_2_of_3/