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