sidux LAMP Stack

Akronim LAMP stoji za set slobodnih softver programa obično korišteni zajedno da izvode dinamične Web stranice ili poslužitelje
Linux, operativni sustav
Apache, Web poslužitelj
MySQL, menadžment sistem za baze podataka (ili poslužitelj za baze podataka)
Perl, PHP, i/ili Python, skripting jezici

UPOZORENJE: Nikad ne koristite vas home-PC da radi kao poslužitelj! Koristite posvećenoga PC da bude internet web poslužitelj i ne dajte mu ništa drugo da radi!

Korištaj Poslužitelja:
a) lokalni test poslužitelja za web dizajnere bez internet veze, što je namjera ove teme;
b) privatni "zatvoreni" poslužitelj spojen s mrežom;
c) privatni web poslužitelj posve razmnožavan na internetu
d) komercijalni web poslužitelj što je iznad namjere ovog priručnika

Minimalne potrebe

Najmanje 256MB RAM dostupno. Sve što je manji, će nanijeti puno problema kad izvodi poslužitelja, sa mysql zahtijeva puno RAM da radi savršeno. Mysql će izbaciti pogrešku "cannot connect to mysql.sock" ako nemate dovoljno memorije na vašem poslužitelju.

sidux Generic_Server paket

sidux Generic_Server se sastoji od prepakirane instalacije via meta-paket instalera. Aplikacije koje će biti instalirane su:

apache2
apache2-utils
apache2-mpm-prefork
php5 php5-common
mysql-server
mysql-common
libapache2-mod-php5
php5-mysql
phpmyadmin

UPOZORENJE

apt-get remove --purge splashy

Zato što splashy uvijek pokvari mysql

Apache konfiguracijska datoteka je pod:/etc/apache2/apache2.conf i vaša web datoteka je /var/www

Da provjerite da li je php instaliran, i da li radi savršeno, samo kreirate test.php u vašem /var/www direktoriju sa phpinfo() funkcijom egzaktno kao pokazano ispod.

mcedit /var/www/test.php

# test.php
<?  phpinfo(); ?>

Pošaljite browser na:

http://localhost/test.php
ili 
http://yourip:80/test.php

To bi vam trebalo pokazati sve vaše php konfiguracije i standardne postavke.

Možete editirati potrebne postavke ili postaviti "virtual domains" koristeći konfiguracijsku datoteku apache.

Ako hoćete da testirate vašu instalaciju otvorite browser i upišite sljedeće

http://youripaddress/apache2-default/

Ako vam onda pokaže welcome poruku, vaša instalacija je u redu.

Standardni dokument root direktorij za apache2 je /var/www

mkdir /home/myself/www
ln -s /home/myself/www /var/www

S izvođenjem gornjih naredbi možete editirati vašu web-site u vašem home direktoriju kao normalan korisnik.

FTP klijenti

Koristite SSH i čitajte pažljivo SSH temu , sidux isto ima ugrađenog FTP klijenta sa Konqueror da vam omogući da pošaljete vaše datoteke.

Aktiviranje dobrih protokola za sigurnost za web poslužitelje

Firewall

Bez firewall nemate apsolutno nikakvu sigurnost za vaš poslužitelj. Zapamtite, blokirajte SVE što god vam ne treba, ako je opet potrebno deblokirajte opet!.

21 (ftp)
22 (SSH)
25 110 (email)
443 (SSL http ili https)
993 (imap ssl)
995 (pop3 ssl)
80 (http)
i bilo koji drugi port!

Zaštititi standardno datoteke poslužitelja

Jedan aspekt od Apache što je ponekad pogrešno shvaćen je, mogućnost za standardni ulaz. To je, dok god ne promijenite, ako poslužitelj može da nađe put do datoteke s normalnim URL mapping pravilima, zato ih može da posluži klijentima.

Za primjer zamislite sljedeće:

 1. # cd /; ln -s / public_html
 2. Ulaz na http://localhost/~root/

To bi dozvolilo klijentima šetnju kroz cijeli file-sistem! DA to sredite, dodajte sljedeći blok u vašu konfiguraciju poslužitelja:

<Directory />
   Order Deny,Allow
   Deny from all
</Directory>

To će zabraniti standardni ulaz na file-sistem. Dodajte prigodan <Directory> blok da dozvolite ulaz samo u područje koje želite. Na primjer,

<Directory /usr/users/*/public_html>
    Order Deny,Allow
    Allow from all
</Directory>
<Directory /usr/local/httpd>
    Order Deny,Allow
    Allow from all
 </Directory>

Dobro pazite na <Location> i <Directory> direktivu; na primjer, i ako <Directory /> zabrani ulaz, <Location /> direktiva može da ga opet dopusti.

Budite isto pažljivi s igrama s UserDir direktivom; ako je postavite na nešto kao "./" dobijete isti efekt, za root, kao prvi primjer iznad. Ako koristite Apache 1.3 ili veći, strogo preporučujemo da dodate sljedeću liniju u vaše konfiguracijske datoteke poslužitelja:

UserDir disabled root 

SSL

Izvodite skript “apache2-ssl-certificate”

# apache2-ssl-certificate

Sljedeći screen će se pokazati za vas da upišite sve potrebne informacije.

Creating self-signed certificate
replace it with one signed by a certification authority (CA) enter your ServerName at the Common Name prompt. If you want your certificate to expire after x days call this programm
with -days x
-----
Generating a 1024 bit RSA private key
--------
writing new private key to '/etc/apache2/ssl/apache.pem'
--------
You are about to be asked to enter information that will be incorporated into your certificate request.
-----------
What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank. For some fields there will be a default value,
----------
If you enter '.', the field will be left blank.
Country Name (2 letter code) [GB]:

State or Province Name (full name) [Some-State]:

Locality Name (eg, city) []:

Organization Name (eg, company; recommended) []:

Organizational Unit Name (eg, section) []:

server name (eg. ssl.domain.tld; required!!!) []:

Email Address []:

Izvodite skript “a2enmod ssl” i.e

 # a2enmod ssl

To će automatski generirati simbolični link između mods-available i mods-enabled

Napravite kopiju od '/etc/apache2/sites-available/default' datoteke u /etc/apache2/sites-available/ - imenovajte je 'ssl'

# cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

Napravite sym-link na tu novu site konfiguraciju za taj korištaj

#  ln -s /etc/apache2/sites-available/ssl /etc/apache2/sites-enabled/                     
(or)
#a2ensite ssl

Ako hoćete da promijenite neke standardne postavke konfiguracije u /etc/apache2/apache2.conf i ako hoćete da promijenite standardni dokument root promijenite u /etc/apache2/sites-available/default datoteci i restartujte apache poslužitelja.

Da restarujete Apache poslužitelja koristite sljedeću naredbu

#/etc/init.d/apache2 restart

Sad moramo promijeniti port adresu u /etc/apache2/ports.conf, standardno će slušati na portu 80 i sad instaliramo sa SSL moramo još promijeniti port 443 da sluša

 Listen 443

Editirajte /etc/apache2/sites-available/ssl (ili kako god zovete vašu novu ssl site konfiguraciju) i promijenite port 80 u imenu site na 443.

Dodajte sljedeće 2 linije negdje u /etc/apache2/apache2.conf datoteku

  SSLEngine On

  SSLCertificateFile /etc/apache2/ssl/apache.pem

Editirajte SSLCertificateFile /etc/apache2/ssl/apache.pem i upišite lokaciju certificate datoteke i certificate ključne datoteke. Ispod je jedan primjer naveden:

SSLCertificateFile /etc/apache2/ssl/online.test.net.crt
        SSLCertificateKeyFile /etc/apache2/ssl/online.test.net.key

Ugasite ServerSignature , editirajte /etc/apache2/apache2.conf datoteku i dodajte te dvije linije:

  ServerSignature Off
 ServerTokens ProductOnly

Ako hoćete da dopustite razne tipove indeks datoteka provjerite sljedeću liniju u /etc/apache2/apache2.conf datoteci

 DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.shtml

Restartujte apache poslužitelja

 /etc/init.d/apache2 restart

Sad bi trebali da imate test poslužitelj sandbox, ako hoćete da se spojite s internetom, NEMOJTE NIKADA, koristiti drugo računalo koje nije samo namijenjeno da bude internet web poslužitelj!

Izvor:

http://www.mysql-apache-php.com

http://httpd.apache.org/docs/1.3/misc/security_tips.html

http://www.debianhelp.co.uk/webserver.htm

Content last revised 10/06/2008 0100hrs UTC