lamp (linux, apache, mysql, php, perl, python)
Postano: 22 vel 2013, 13:27
Prvo, par neophodnih paketa, kao root:
<lozinka>
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
Ubaciti sledeći sadržaj:
Zatim promeniti dozvole i vlašnistvo (ownership) nad folderima i datotekama (rekruzivno)
Restartujte server za svaki slučaj, jer nekada se ne razreše procesi dok se ne uradi restart:
Sadržaj funkcije phpinfo() - phpinfo.php se nalazi na lokaciji u browseru, sa "document root" /var/www/
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
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
Sadržaj:
Izmneite dozvole i vlašnistvo (ownership) nad folderom /home/korisnik/htdocs (rekruzivno):
I sada se nas "korisnički" web direktorijum /home/korisnik/htdocs nalazi na lokaciji:
Sada konfigurišite phpmyadmin-a, jer ste prilikom instalacije paketa i nega uključili...
Odraditi samo par linija u terminalu:
Pa restartovati apache:
Vaš phpmyadmin se nalazi na adresi:
Sledeći korak je mysql sigurna instalacija:
Ukucati root lozinku za mysql koju ste definisali malopre prilikom instalacije svih paketa, pa:
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:
Ukucati root lozinku i ispisaće se ovakav odzivnik:
Napraviti bazu, korisnika te baze (kucati samo posle odzivnika "mysql>" i odrediti mu privilegije nad tom bazom:
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:
Otvoriti u browseru adresu:
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:
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:
Sada ući u dir /var/www/cgi-bin i napraviti 3 fajla (.pl .py .sh)
test.pl izgleda ovako
Zatim test.py
test.py izgleda ovako:
Zatim test.sh
test.sh izgleda ovako:
Pre pokretanja uradićemo sledeće procedure:
Skripte u /var/www/cgi-bin se nalaze na adresama:
Kod: Označi sve
suKod: 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-pythonZatim 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.phpKod: Označi sve
<?php
echo phpinfo();
?>Kod: Označi sve
chown -R www-data:www-data /var/www
chmod -R 755 /var/wwwKod: Označi sve
/etc/init.d/apache2 restartKod: Označi sve
http://localhost/phpinfo.phpKod: Označi sve
mkdir /home/korisnik/htdocs
cd /var/www
ln -s /home/korisnik/htdocs korisnikNapravite fajl index.php koj se treba naći u /home/korisnik/htdocs
Kod: Označi sve
nano /home/korisnik/htdocs/index.phpKod: Označi sve
<?php
echo 'Ovo je naš lični korisnički direktorijum na apache web serveru';
?>Kod: Označi sve
chown -R www-data:www-data /home/korisnik/htdocs
chmod -R 755 /home/korisnik/htdocsKod: Označi sve
http://localhost/korisnik/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/phpmyadminKod: Označi sve
/etc/init.d/apache2 restartKod: Označi sve
http://localhost/phpmyadminKod: Označi sve
mysql_secure_installationKod: 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!Prvo se ulogovati kroz terminal u root-mysql shell:
Kod: Označi sve
mysql -u root -pKod: Označi sve
mysql>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;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/htdocsKod: Označi sve
http://localhostCustom 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-binPrimetili 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>Kod: Označi sve
cd /var/www/cgi-bin
nano test.plKod: Označi sve
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "perl kroz CGI!"; Kod: Označi sve
nano test.pyKod: 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>
"""Kod: Označi sve
nano test.shKod: Označi sve
#!/bin/bash
echo "Content-Type: text/plain"
echo
echo "Datum i vreme:"
dateKod: Označi sve
chmod -R 755 /var/www/
chown -R www-data:www-data /var/www/
/etc/init.d/apache2 restartKod: Označi sve
http://localhost/cgi-bin/test.pl
http://localhost/cgi-bin/test.py
http://localhost/cgi-bin/test.sh