Webový server LAMP (Linux, Apache, MySQL, PHP)
Pro snadnou instalaci na operačním systému Windows je možné použít aplikace EasyPHP nebo WampServer (umožňuje jednoduše přepínat mezi více verzemi PHP a MySQL). Pro Mac OS X je možné použít MAMP. Multiplatformním řešením pak může být např. i XAMPP.
Textový režim:
sudo apt-get install php5-common php5-gd php5-suhosin mysql-server phpmyadmin php-apc
Aplikace Synaptic:
Dodatečný konfigurační soubor webovém serveru Apache, který může být umístěn v libovolném adresáři webu. Direktivy uvedené v souboru .htaccess se vztahují na tento adresář a všechny jeho podadresáře.
Příklad nastavení kódování iso-8859-2 všem souborům s příponou .html:
AddCharset iso-8859-2 .html
Příklad nastavení kódování iso-8859-2 souboru example.html:
<Files "example.html"> AddCharset iso-8859-2 .html </Files>
Umožňuje upravit seznam adresářů a souborů generovaný serverem. Např.:
AddDescription "(CSS soubor)" *.css AddDescription "(PHP soubor)" *.php IndexOptions FancyIndexing IndexOptions FoldersFirst IndexOptions IgnoreCase IndexOptions ScanHTMLTitles
sudo a2enmod rewrite
V nastavení apache povolte používání souboru .htaccess!
sudo a2dismod rewrite
sudo a2enmod ssl sudo a2ensite default-ssl # vytvori symlink do sites-enabled
/etc/apache2/sites-available/default-ssl upravte cesty pro konktrétní SSL certifikát serveruSSLCertificateFile /etc/ssl/certs/myweb.cz.crt SSLCertificateKeyFile /etc/ssl/private/myweb.cz.key
Soubor /etc/apache2/sites-available/default:
V sekci <Directory /var/www/> nastavte (vložte IP Vašeho počítače):
AllowOverride All allow from 127.0.0.1 172.11.2.92
Restart web serveru:
sudo /etc/init.d/apache2 restart
Soubor /etc/apache2/apache2.conf:
ServerSignature On: povolí identifikaci serveru při výpisu souborů, na chybových stránkách atd.ServerTokens Prod: nastavení obsahu identifikace serveru (Major|Minor|Min|Prod|OS|Full)V souboru /private/etc/apache2/httpd.conf odkomentujte řádek:
LoadModule php5_module libexec/apache2/libphp5.so
Pokud nepoužíváte např. MAMP je možné Apache spustit v System Preferences, Sharing (Předvolby systému, Sdílení) zatržením volby Web Sharing (Sdílení webu). Odkaz Your computer's website spustí webový prohlížeč a zobrazí výchozí webovou stránku webserveru /Library/WebServer/Documents/.
V terminálu vytvořte soubor /private/etc/php.ini zkopírováním předpřipraveného souboru:
cd /private/etc sudo cp php.ini.default php.ini
Soubor php.ini se nachází v /etc/php5/apache2/php.ini
memory_limit = 128M post_max_size = 64M upload_max_filesize = 32M apc.rfc1867 = 1 ;Drupal 7
Hlášení chyb
error_reporting = E_ALL
<?php print_r (phpinfo()); ?>
/etc/php5/apach2/conf.d (/etc/php5/conf.d/suhosin.ini) je možné změnit výchozí nastavení PHP Suhosin doplněním požadovaných položek např.:suhosin.request.max_vars = 512 suhosin.post.max_vars = 512 suhosin.request.max_value_length = 90000 suhosin.post.max_value_length = 90000
/etc/php5/apache2/conf.d/apc.ini upravte nastavení např.:extension=apc.so apc.shm_size = 48
Změna hesla:
/usr/bin/mysqladmin -u root password 'nove-heslo'
Restart mysql:
sudo /etc/init.d/mysql restart
V některých případech je vhodné zvýšit hodnotu max_allowed_packet z 1 MB na 32 MB:
max_allowed_packet = 32M# The MySQL server [mysqld] max_allowed_packet = 32M
killall -9 mysqldSoubor hosts (bez přípony) umožňuje přenastavit DNS záznamy na klientském počítači.
Umístění souboru:
/etc/hosts/private/etc/hostsc:\windows\system32\drivers\etc\hostsc:\windows\hostsPříklad souboru hosts:
# komentar 127.0.0.1 localhost 192.168.10.10 moje-pc.cz www.moje-pc.cz # test.cz 217.11.149.212 test.cz 217.11.149.212 www.test.cz 217.11.149.212 mysql.test.cz
Po uložení souboru restartujte síťové nastavení: sudo /etc/init.d/networking restart.
Poznámky:
U některých antivirových nebo antispywarových programů je nutné změnu souboru hosts povolit.
Vyžaduje lokální uživatelský účet.
sudo aptitude install scponly
whereis scponlyc
cd /usr/share/doc/scponly/setup_chroot; sudo gunzip setup_chroot.sh.gz; sudo chmod +x setup_chroot.sh; sudo ./setup_chroot.sh
chmod u+s /usr/sbin/scponlyc
/var/ vytvořte symlink www odkazující do /home/sftpuser/var/www/.Lokální uživatelský účet není podmínkou. Balíček GAdmin-ProFTPD se mi neosvědčil, proto používám raději ruční konfiguraci.
sudo apt-get install proftpd
/etc/proftpd/proftpd.conf:
# obecna nastaveni
IdentLookups off
UseReverseDNS off # zrychluje prihlaseni
ServerName "Moje FTP" # nazev pocitace v siti
DeferWelcome on # potlacit uvitani
ServerIdent off
ListOptions "-l"
ListOptions "+R" strict # pouze zakladni vypis
#DefaultRoot /var/www/ftp # vychozi adresar
DefaultRoot ~ # vychozi adresar (home uzivatele)
RequireValidShell off # nevyzaduje shell
RootLogin off
AllowOverride on # povoli zapis
AuthOrder mod_auth_unix.c # pouze systemovy ucet
# nastaveni vztahujici se pouze k danemu adresari
<Directory /var/www/ftp>
HideNoAccess on
GroupOwner www-data
</Directory>
# zpozdeni
<IfModule mod_delay.c>
DelayEngine off
</IfModule>
# ftps
Include /etc/proftpd/tls.conf
<Limit LOGIN>
<IfModule mod_tls.c>
AllowUser student01 student02 student03
</IfModule>
DenyAll
</Limit>
# PAM overeni
<ifModule mod_auth_pam.c>
AuthPAM off
</IfModule>
/etc/proftpd/modules.conf:
#LoadModule mod_ctrls_admin.c #LoadModule mod_radius.c #LoadModule mod_quotatab.c #LoadModule mod_quotatab_file.c #LoadModule mod_quotatab_radius.c #LoadModule mod_wrap.c #LoadModule mod_rewrite.c #LoadModule mod_ban.c #LoadModule mod_wrap2_sql.c #LoadModule mod_dynmasq.c
/etc/proftpd/tls.conf:
TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSRSACertificateFile /etc/ssl/certs/muj-web.cz.crt TLSRSACertificateKeyFile /etc/ssl/private/muj-web.cz.key TLSCACertificateFile /etc/ssl/certs/cacert_my.crt TLSOptions NoCertRequest TLSVerifyClient off TLSRequired on
sudo groupadd user
sudo useradd -g user -G www-data -d /dev/null -s /dev/null -p heslo user
sudo passwd user
sudo chown -R user:www-data /var/www/ftp
sudo /etc/init.d/proftpd restart
Funkční pošta na localhostu:
Upload progressEnabled (PECL uploadprogress)