- Kod: Označi sve
su
<lozinka>
- Kod: Označi sve
aptitude install apache2 mysql-server php5 php-pear php5-gd php5-mysql php5-imagick php5-curl curl phpmyadmin rsync cronolog libapache2-mod-php5 libapache2-mod-python
Prilikom instalacije ovih paketa osigurajte mysql server root lozinkom, podesite phpmyadmin - apache2 [x].
Zatim pri sledećoj opciji: configure database for phpmyadmin with dbconfig-common? <Yes> <No>, izaberite <No> i to je to.
Podrazumevani web folder je /var/www, za sada ćemo ga i ostaviti tako da ne dodje do zabune na startu.
Napraviti fajl phpinfo.php
- Kod: Označi sve
nano /var/www/phpinfo.php
Ubaciti sledeći sadržaj:
- Kod: Označi sve
<?php
echo phpinfo();
?>
Zatim promeniti dozvole i vlašnistvo (ownership) nad folderima i datotekama (rekruzivno)
- Kod: Označi sve
chown -R www-data:www-data /var/www
chmod -R 755 /var/www
Restartujte server za svaki slučaj, jer nekada se ne razreše procesi dok se ne uradi restart:
- Kod: Označi sve
/etc/init.d/apache2 restart
Sadržaj funkcije phpinfo() - phpinfo.php se nalazi na lokaciji u browseru, sa "document root" /var/www/
- Kod: Označi sve
http://localhost/phpinfo.php
Sada trenutno ostavite folder /var/www i kreirajte folder /home/korisnik/htdocs ukoliko ne postoji kao podrazumevani (na Crunchbang-u postoji) i linkovati ga simboličkim linkom iz /var/www
- Kod: Označi sve
mkdir /home/korisnik/htdocs
cd /var/www
ln -s /home/korisnik/htdocs korisnik
Trenutno se nalazite u folderu /var/www , tu postoji index.htlm po defaultu i phpinfo.php koj smo napravili, a sada postoji i "folder" linkovan ka /home/korisnik/htdocs. Tu se za sada priča sa /var/www završava i nas sada zanima samo /home/korisnik/htdocs
Napravite fajl index.php koj se treba naći u /home/korisnik/htdocs
- Kod: Označi sve
nano /home/korisnik/htdocs/index.php
Sadržaj:
- Kod: Označi sve
<?php
echo 'Ovo je naš lični korisnički direktorijum na apache web serveru';
?>
Izmneite dozvole i vlašnistvo (ownership) nad folderom /home/korisnik/htdocs (rekruzivno):
- Kod: Označi sve
chown -R www-data:www-data /home/korisnik/htdocs
chmod -R 755 /home/korisnik/htdocs
I sada se nas "korisnički" web direktorijum /home/korisnik/htdocs nalazi na lokaciji:
- Kod: Označi sve
http://localhost/korisnik/
Sada konfigurišite phpmyadmin-a, jer ste prilikom instalacije paketa i nega uključili...
Odraditi samo par linija u terminalu:
- Kod: Označi sve
cp /etc/phpmyadmin/apache.conf /etc/apache2/sites-available/phpmyadmin
ln -s /etc/apache2/sites-available/phpmyadmin /etc/apache2/sites-enabled/phpmyadmin
Pa restartovati apache:
- Kod: Označi sve
/etc/init.d/apache2 restart
Vaš phpmyadmin se nalazi na adresi:
- Kod: Označi sve
http://localhost/phpmyadmin
Sledeći korak je mysql sigurna instalacija:
- Kod: Označi sve
mysql_secure_installation
Ukucati root lozinku za mysql koju ste definisali malopre prilikom instalacije svih paketa, pa:
- Kod: Označi sve
remove anonymous users? [Y/n] y
... success!
disallow root login remotely? [Y/n] y
... success!
remove test database and access to it? [Y/n] y
- dropping test database...
reload privilege tables now? [Y/n] y
... success!
Samo još jedna stvar pre nego se ulogujemo u phpmyadmin okruženje - kreirati korisnika i dati mu dozvole samo nad njegovom bazom:
Prvo se ulogovati kroz terminal u root-mysql shell:
- Kod: Označi sve
mysql -u root -p
Ukucati root lozinku i ispisaće se ovakav odzivnik:
- Kod: Označi sve
mysql>
Napraviti bazu, korisnika te baze (kucati samo posle odzivnika "mysql>" i odrediti mu privilegije nad tom bazom:
- Kod: Označi sve
mysql> CREATE DATABASE korisnikova_baza;
mysql> CREATE USER 'korisnik_baze' IDENTIFIED BY 'lozinka_korisnika_baze';
mysql> GRANT ALL PRIVILEGES ON korisnikova_baza.* TO 'korisnik_baze';
mysql> exit;
DONE!
sada se na adresi: http://localhost/phpmyadmin ulogujte sa -
user: korisnik_baze
pass: lozinka_korisnika_baze
Možete koristiti vašu mysql bazu podataka!!!
Zatim uraditi još jednu stvar koja će vam olakšati razumevanje web foldera:
- Kod: Označi sve
cd /var/www
rm -f index.html
mkdir phpmyadmin
chown -R www-data:www-data /var/www
chown -R www-data:www-data /home/korisnik/htdocs
chmod -R 755 /var/www
chmod -R 755 /home/korisnik/htdocs
Otvoriti u browseru adresu:
- Kod: Označi sve
http://localhost
Ne zaboravite da /home/korisnik/htdocs zamenite sa /home/ime_vašeg_korisnika/htdocs
Custom apache konfiguracija
Sada malo zaviriti u apache-ovu konfiguracionu datoteku i dodati podršku za python, perl, cgi, bash kroz CGI (common gateway interface), ali pre toga napravite još cgi-bin direktorijum:
- Kod: Označi sve
mkdir /var/www/cgi-bin
Primetili ste da se izmeđustalog izmeštate iz direktorijuma /var/www koj će i dalje ostati kao koreni direktorijum (doc root), a trenutno se fokusirati na folder /var/www/cgi-bin/... kasnije i objašnjenje..
Apache konfiguraciona datoteka za vhost /etc/apache2/sites-available/default izgleda ovako:
- Kod: Označi sve
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory /var/www/cgi-bin/>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
AddHandler cgi-script .cgi .pl .py .sh
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/apache2.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/apache2.access.log combined
</VirtualHost>
Sada ući u dir /var/www/cgi-bin i napraviti 3 fajla (.pl .py .sh)
- Kod: Označi sve
cd /var/www/cgi-bin
nano test.pl
test.pl izgleda ovako
- Kod: Označi sve
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "perl kroz CGI!";
Zatim test.py
- Kod: Označi sve
nano test.py
test.py izgleda ovako:
- Kod: Označi sve
#!/usr/bin/env python
print "Content-Type: text/html"
print
print """\
<html>
<head><title>py-cgi</title></head>
<body>
<h2>python kroz CGI!</h2>
</body>
</html>
"""
Zatim test.sh
- Kod: Označi sve
nano test.sh
test.sh izgleda ovako:
- Kod: Označi sve
#!/bin/bash
echo "Content-Type: text/plain"
echo
echo "Datum i vreme:"
date
Pre pokretanja uradićemo sledeće procedure:
- Kod: Označi sve
chmod -R 755 /var/www/
chown -R www-data:www-data /var/www/
/etc/init.d/apache2 restart
Skripte u /var/www/cgi-bin se nalaze na adresama:
- Kod: Označi sve
http://localhost/cgi-bin/test.pl
http://localhost/cgi-bin/test.py
http://localhost/cgi-bin/test.sh