Instalace LAMP na Ubuntu

Pavel PHP, Linux

Minule jsme si ukázali, jak na LAMP serveru ukládat emaily. Co když ale server na Linuxu vůbec nemáme? Dnešní krátký průvodce napoví jak nainstalovat, nastavit a zprovoznit LAMP server na Ubuntu/Debian.

Instalace LAMP na Ubuntu

Nebudeme se zdržovat a jdeme na to. K instalaci využijeme příkazy apt-get, které jsou na Ubuntu a Debianu základní příkazy pro instalaci balíčků.

Instalujeme

Začneme instalací Apache2, MySQL a PHP5 a potřebných knihoven pro vzájemnou kompatibilitu. Budete v průběhu instalace dotázání na jméno a heslo do MySQL databáze pro root uživatele.

Dále nastavíme MySQL server instalací základních schémat a volitelně můžeme spustit zabezpečení databáze. Na závěr doinstalujeme balíčky do PHP, zde záleží na vás, které vyberete, mě tyto stačí.

# Stáhneme aktuální seznam balíčků z repozitářů
sudo apt-get update

# Nainstalujeme vše nezbytné
sudo apt-get install apache2 mysql-server php5 libapache2-mod-php5

# Pokud máte MySQL starší jak 5.7.6
sudo mysql_install_db
# Pokud 5.7.6 nebo novější
sudo mysqld --initialize

# Zabezpečení MySQL serveru, na localhostu není nutné
sudo mysql_secure_installation

# Doinstalování PHP knihoven
sudo apt-get install php5-mysql php5-mcrypt php5-curl php5-gd php5-json php5-mysql php5-imagick

Nastavení

Při zadání adresy http://localhost/ uvidíte základní index s umístěním konfiguračních souborů. Hlavní adresář pro weby je /var/www/html. Stále to ale bude chtít nějaké úpravy

Povolení htaccess

Abychom mohli využívat soubor .htaccess, musíme jej povolit v souboru /etc/apache2/apache2.conf. Najdeme tento blok a přepíšeme AllowOverride z none na all

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride all
    Require all granted
</Directory>

Instalace mod_rewrite

Asi nejčastější použití souboru .htaccess je právě kvůli možnost podsouvat URL adresy pomocí mod_rewrite. Povolení se provádí pomocí příkazu a2enmod

sudo a2enmod rewrite

Priorita PHP nad HTML

Pokud budete mít ve složce index.html i index.php, větší prioritu bude mít nyní HTML soubor. Toto chování lze změnit v souboru /etc/apache2/mods-enabled/dir.conf. Přesuneme index.php z prostřed druhého řádku na první pozici a uložíme.

<IfModule mod_dir.c>
        DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Nastavení PHP

Základní nastavení PHP je někdy ne příliš vyhovující. Následující hodnoty doporučuji změnit, nejčastěji zvýšit. Soubor naleznete na /etc/php5/apache2/php.ini

; V základu Off, pak nebude fungovat <? ... ale jen <?php ...
short_open_tag = On
; Nyní již limit je 128MB, můžete ale zvýšit v případě potřeby
memory_limit = 128M
; Chyby se vůbec nevypisují, což je při vývoji docela otravné
display_errors = On
; Výpis všech chyb kromě DEPRECATED a STRICT
; může se hodit vypisovat všechny
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
; V základu max 2M upload, zvyšte si alespoň na 20M
upload_max_filesize = 20M
; Nastavte si základní časové pásmo
date.timezone = Europe/Prague
; Viz minulý článek
sendmail_path = /usr/sbin/sendmail

Restart Apache

Když jsme provedli všechny změny, je na čase restartovat Apache server pro aplikování změn. Apache2 je nainstalován také jako service, takže restart provedeme jednoduše

sudo service apache2 restart

Závěrem

Nastavení serveru je vhodné pro vývoj, nikoli ostrý provoz. Pokud chcete takto provozovat server veřejně, bylo by potřeba více nastavení a zabezpečení. Snad jsem nezapomněl na žádné doplňky ať už do PHP nebo Apache. Případně napište do komentářů a do článku je doplním

Přidat komentář

Právě odpovídáte na existující komentář. Zrušit

Komentáře

m

25.3.2016 05:44

after of
sudo mysqld --initialize

[ERROR] --initialize specified but the data directory has files in it. Aborting.

Odpovědět

Jan Dohnálek

http://www.ictus.cz 6.12.2018 13:09

Dobrý den,
našel jsem LAMPdu a chtěl jsem podle Vás nainstalovat.
root@jd-desktop:/home/jd# sudo apt-get install apache2 mysql-server php5 libapache2-mod-php5
Načítají se seznamy balíků… Hotovo
Vytváří se strom závislostí
Načítají se stavové informace… Hotovo
Balík php5 není dostupný, ale jiný balík se na něj odkazuje.
To může znamenat že balík chybí, byl zastarán, nebo je dostupný
pouze z jiného zdroje

Balík libapache2-mod-php5 není dostupný, ale jiný balík se na něj odkazuje.
To může znamenat že balík chybí, byl zastarán, nebo je dostupný
pouze z jiného zdroje

E: Balík „php5“ nemá kandidáta pro instalaci
E: Balík „libapache2-mod-php5“ nemá kandidáta pro instalaci
root@jd-desktop:/home/jd#

můžete mi pomoct
Děkuji Dohnálek

Odpovědět

Novinky z blogu

Sjednocení času ve Windows a Linuxu při dual bootu

Každý, kdo používá dual boot mezi Windows a Linuxem, zaznamenal špatný čas při nabootování do Windows. Přitom není moc těžké problém vyřešit ani v jednom...

Další články