Lokální servery

Z Znalosti


Velmi dobrý web postupů pro Ubuntu: DevAnswers.co

LAMP - instalace

Nejlepší je začít na Official Ubuntu Documentation, tam vyhledat versi Ubuntu, např. pro 13.10 je to Documentation for Ubuntu 13.10 a odtud na Ubuntu Server Guide.

Odtud přejít na LAMP Applications. Tak jsem postupoval při instalaci LAMPu na ibm-desktop.

Poznámka: dobrý popis instalace LAMP je také v How To Install LAMP Stack On Ubuntu 16.04.

Pozor: při spuštění aplikace WP jsem narazil - v PHP nebyl umožněn modul mod_rewrite. Je nutno jej umožnit:

sudo a2enmod rewrite

Pozor: phpMyAdmin při otevření hlásí dole chybu - chybí rozšíření mcrypt. To se řeší podle phpMyAdmin - chybí rozšíření mcrypt.

Kromě toho je nutné umožnit přepisovací funkce přes .htaccess. Do souboru /etc/apache2/sites-available/000-default.conf vložíme editorem řádky

<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
</Directory>

Poté nutno restartovat Apache:

sudo service apache2 restart

Viz např. How To Set Up Mod_Rewrite.

Obecně k modulům Apache viz How to Enable and disable apache modules.

Restart mysql:

sudo /etc/init.d/mysql restart

(viz How do I start/stop mysql server?)

Jak re-instalovat mysql?

Nejprve odstranit mysql (podle Removing MySQL 5.7 Completely:

sudo service mysql stop  #or mysqld
sudo killall -9 mysql
sudo killall -9 mysqld
sudo apt-get remove --purge mysql-server mysql-client mysql-common
sudo apt-get autoremove
sudo apt-get autoclean
sudo deluser -f mysql
sudo rm -rf /var/lib/mysql
sudo apt-get purge mysql-server-core-5.7
sudo apt-get purge mysql-client-core-5.7
sudo rm -rf /var/log/mysql
sudo rm -rf /etc/mysql

Pak reinstalovat:

sudo apt-get update
sudo apt-get install mysql-server
sudo mysql_install_db

Vyzkoušeno, funguje, jen jsem musel znova instalovat phpMyAdmin. (podle návodu na instalaci LAMPu).

Server FTP

Oficiální dokumentace Ubuntu, konkrétně pro 14.04 viz FTP Server.

Postupoval jsem však podle How to setup FTP server on ubuntu 14.04 ( VSFTPD ). Pro FTP jsem zřídil uživatele joseftp.

Server FTP se (re)startuje příkazem

sudo service vsftpd restart

Poté se ukázalo, že Filezilla ani WP se k serveru nepřihlásily. Po hledání v několika zdrojích (mj. FTP server - vsftpd) jsem došel k tomuto nastavení /etc/vsftpd.conf:

listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to FTP service.
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
local_root=/var/www
# přidané řádky:
allow_writeable_chroot=YES
pasv_enable=Yes
pasv_max_port=40000
pasv_min_port=40100

Po restartu vsftpd vše OK.

Filezilla se přihlašuje takto:

Ftp-server-1.png

WordPress se přihlašuje takto:

Ftp-server-2.png

Cron daemon

Jak zjistím, že cron daemon běží? Příkazem:

pgrep cron

Když se jím nezobrazí žádné číslo, daemon cron neběží. V tom případě se cron nastartuje příkazem:

sudo service cron start

Viz další informace v Reasons why crontab does not work.

Jak restartovat lokální servery?

K tomu účelu jsem vytvořil aliasy:

alias restapache='sudo service apache2 restart'
alias restftp='sudo service vsftpd restart'
alias restmysql='sudo /etc/init.d/mysql restart'