Soustava LAMP v aptosidu

Akronym LAMP odkazuje na sestavu svobodných programů, které se obvykle používájí dohromady pro spouštění dynamických Webových stránek nebo serveru
Linux, operační systém
Apache, Webový server
MySQL, systém spravování databází (nebo databázový server)
Perl, PHP, a/nebo Python, skriptovací jazyk

VAROVÁNÍ: Nikdy nepoužívejte váš každodenní počítač jako internetový webový server! Použijte k tomu určený počítač a ať na něm neběží nic jiného než internetový webový server!

Server používá:
a) lokální server pro testování určený webovým designerům bez internetového připojení, což je předmětem této sekce;
b) privátní "skříňový" server připojený na internet;
c) privátní webový server plně propagovaný na internet;
d) komerční webový server, což je nad rámec tohoto povídání.

Minimální požadavky

Alespoň 256MB dostupné RAM. Jakkoliv méně než je toto minimum způsobí spoustu problému, jelikož spouštění serveru s databází mysql vyžaduje hodně paměti, aby běžel tak, jak má. Mysql nahlásí chybu "cannot connect to mysql.sock", pokud nebude mít k dispozici dostatek paměti.

Balíčky, které bude nutné nainstalovat:

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

VAROVÁNÍ

apt-get remove --purge splashy

Jelikož splashy vždy rozhodí mysql

-->

Konfigurace Apache se nachází zde:/etc/apache2/apache2.conf a váš webový adresář je zde: /var/www. Neupravujte vaše výchozí nastavení debianu pro 'mpm-worker/mpm-prefork', jelikož toto nastavení je rozumné.

Pro ověření, jestli je php nainstalováno a správně běží, tak jen vytvořte test.php ve vašem adresáři /var/www s funkcí phpinfo() přesně tak, jak je ukázáno zde:

mcedit /var/www/test.php

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

Zaměřte sem svůj prohlížeč:

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

To by mělo zobrazit vaši veškorou konfiguraci php a výchozí nastavení.

Nezbytné hodnoty a nastavení virtuálních domén můžete nastavit přímo v konfiguračním souboru Apache.

Jestli chcete ozkoušet vaši instalaci, spusťte si váš prohlížeč a zadejte následující:

http://vaseipadresa/apache2-default/

Měla by být zobrazena uvítací stránka, což bude znamenat, že je vaše instalace v pořádku.

Výchozí adresář root dokumentů pro apache2 je zde: /var/www Změňte ho na:

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

Těmito příkazy dosáhnete toho, že budete moci upravovat svoje webové stránky přimo ve vašem home jako normální uživatel.

FTP klienty

Používejte SSH a pečlivě si přečtěte Sekci o SSH. aptosid má taktéž další vestavěný klient FTP v Konqueroru, který vám umožní nahrávat vaše soubory.

Zapnutí dobrých bezpečnostních protokolů pro Webové servery

Firewally

Bez firewallu neexistuje pro váš server naprosto žádné bezpečí. Nezapomeňte blokovat VŠE, pokud to opravdu nepotřebujete. Pak to odblokujte!.

21 (ftp)
22 (SSH)
25 110 (email)
443 (SSL http nebo https)
993 (imap ssl)
995 (pop3 ssl)
80 (http)
a jakýkoli jiný potřebný port!

Chraňte v základu vaše soubory serveru

Jeden aspekt Apache, který je čast mylně chápán, je možnost výchozího přístupu. To znamená, že pokud neprovedete kroky k jeho změnění, server se pokusí najít cestu k souborům pomocí normálních pravidel mapování URL a poskytne je klientům.

Pro příklad se podívejte na následující příklad:

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

To by klientům umožnilo se procházet celým souborovým systémem! Abyste tomu předešli, přidejte následující zábrany do konfigurace vašeho serveru:

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

To zakáže výchozí přístup k lokacím v soborovém systému. Přidejte příslušné zábrany <Directory> pro poskytnutí přístupu pouze tam, kde si to přejete. Npaříklad,

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

Dbejte zvýšené pozornosti interakcím mezi instrukcemi <Location> a <Directory>; například, i když <Directory /> přístup zakazuje, příkaz <Location /> jej může zvrátit.

Také se vyvarujte hrátkám s příkazem UserDir; jeho nastavení na něco jako "./" by mělo, pro root, stejný efekt jako výše uvedený příklad. Jestli používate Apache 1.3 neby vyšší, vřele doporučujeme, abyste zahrnuli následující řádek do vaše konfiguračního souboru server:

UserDir disabled root

SSL

Spusťte skript “apache2-ssl-certificate”

# apache2-ssl-certificate

Objeví se následující obrazovka, kde budete muset zadat všechny vyžadované informace.

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 []:

Spusťte sktipt “a2enmod ssl”

# a2enmod ssl

To automaticky vytvoří symbolický odkaz mezi módy - dostupný a módy - zapnutý

Vytvořte kopii souboru '/etc/apache2/sites-available/default' v adresáři the /etc/apache2/sites-available/ - nazvěte ji 'ssl'

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

Vytvořte symbolický odkaz na toto nové umístění nastavení, aby bylo použito

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

Jestli chcete pozměnit jakékoliv základní nastavení, proveďte to v /etc/apache2/apache2.conf a pokud chcete změnit výchozí dokument, změňte rootem soubor /etc/apache2/sites-available/default a restartujte server apache.

Pro restartování serveru Apache použijte následujícího příkazu

#service apache2 restart

Nyní potřebujeme změni adresu portu v /etc/apache2/ports.conf. V základu je použito portu 80 a teď, když instalujeme SSL, musíme to změnit na port 443:

 Listen 443

Upravte /etc/apache2/sites-available/ssl (nebo jak jste nazvali vaše nové umístění nastavení ssl) a změňte port 80 v názvu umístění na 443.

Níže uvedené dva řádky přidejte kamkoliv do souboru /etc/apache2/apache2.conf

  SSLEngine On

  SSLCertificateFile /etc/apache2/ssl/apache.pem

Upravte SSLCertificateFile /etc/apache2/ssl/apache.pem a zadejte umístění souboru souboru certifikačního klíče. Níže je nějáký příklad:

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

Nastavet ServerSignature na off - upravte soubor the /etc/apache2/apache2.conf a přídejte následující dva řádky:

  ServerSignature Off
 ServerTokens ProductOnly

Jestli chcete povolit rozličné typy index souborů, zkontrolujte příslučný řádek v souboru /etc/apache2/apache2.conf

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

Restartuje server apache

 service apache2 restart

Nyní byste měli mít testovací server. Pokud byste se s ním chtěli připojit k internetu, tak to NEDĚLEJTE!... Použijte jiný počítač, který je určen jen k tomu, aby zastával webový internetový server!

Zdroje:

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

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

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

Obsah naposledy revidován 14/08/2010 0100 UTC