Drugi Deo / Softver

Prosle nedelje smo instalirali FreeBSD. Sada cemo instalirati softver da bi hostovali nas web sajt(ove).

Ovaj dokument pretpostavlja:

  • da je FreeBSD vec instaliran
  • da imate SSH pristup serveru
  • da ste kreirali korisnika na sistemu sa imenom 'web', koji koristi csh shell
  • da je vas home direktorijum /home/web
  • da imate root pristup; root isto koristi csh
  • da mozete uredjivati tekst u komadnoj liniji koristeci VI ili VIM

Sve ovo gore navedeno je obuhvaceno u Prvom delu ovog serijala

Konvencije Formatiranja & Beleske

# 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:

  • performanse su optimizovane za vas hardver
  • znate tacno koje su opcije ukljucene ili iskljucene
  • ako dodje do greske, na tome mozete i nesto nauciti

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…

Podesavanje Korisnickog Naloga

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="% "

Instalirajte Web Citac i Python

# 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 Izvorni Kod

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

MySQL

# 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

PHP DEPENDENCIES

# 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

APACHE 2.X / PHP 5.X

Apache 2.x

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

PHP 5.x

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

Uredite httpd.conf

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"

Pokrenite Apache

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 / PHP Moduli

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

Portovi

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

Post Instalacija

Kreirajte direktorijume, linkove, podesite dozvole

# 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

Mail

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

Sta je Sledece

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 sistemaTreci Deo / Konfiguracija


Izvor: http://www.imarc.net/blog/52/run_your_own_unix_web_server_part_2_of_3/

 
podignite_vas_licni_unix_web_server_ii.txt · Last modified: 2007/07/17 10:29 (external edit)
 
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki