Instalace LAMP ve Fedoře 22

Pro zprovoznění vlastního webového serveru s Apache, MySQL (respektive MariaDB) a PHP v operačním systému Fedora ve verzi 22 stačí nainstalovat níže uvedené balíky.

dnf install httpd mariadb-server phpmyadmin php php-mysql php-gd php-mcrypt php-mbstring

Spuštění služeb a nastavení spuštění po startu

Níže uvádím příkazy pro první spuštění služeb a jejich přidání do seznamu aplikací, které se spouštějí ihned po startu systému:

#spuštění Apache
systemctl start httpd
#spouštění Apache při startu systému
systemctl enable httpd
#spuštění MariaDB
systemctl start mariadb
#spouštění MariaDB při startu systému
systemctl enable mariadb

Základní konfigurace

Umístění konfiguračních souborů je následující:

Apache /etc/httpd/conf/httpd.conf
PHP /etc/php.ini
MySQL /etc/my.cnf

V základním nastavení je kořenový adresář pro umístění webových stránek umístěn ve /var/www/html/.

Nasměrování domény

Jak nasměrovat doménu na webový server si ukážeme rovnou na praktickém příkladě:

mkdir /var/www/html/domena.tld
touch /var/www/html/domena.tld/index.html
echo 'test' > /var/www/html/domena.tld/index.html
cd /etc/httpd/conf.d/
touch domena.tld.conf
nano domena.tld.conf

V souboru domena.tld.conf nyní nakonfigurujeme virtuální web:

<VirtualHost *:80>
ServerName www.domena.tld
ServerAlias domena.tld *.domena.tld
ServerAdmin e-mail@domena.tld
DocumentRoot /var/www/html/domena.tld
<Directory /var/www/html/domena.tld>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
</VirtualHost>

Pak už stačí soubor jen uložit, restartovat Apache a doména se bude zobrazovat v prohlížeči (samozřejmě i po nasměrování domény v DNS na webový server nebo nastavení v /etc/hosts):

systemctl restart httpd

SELinux

Neuvádím zde nastavování pro SELinux, protože jej osobně nepoužívám. Pokud jej také chcete deaktivovat, tak postup jsem popsal zde.

Publikováno 7.9.2015 v 10:09 | Kategorie: Fedora

Jak zakázat podporu pro IPv6 ve Fedoře 22

Pokud v rámci vaší sítě využíváte pouze ipv4, tak bude vhodné zakázat si ve Fedoře podporu pro ipv6, která vám nadělá jen víc problémů. Pojďme si ukázat jak na to.

/etc/modprobe.conf a /etc/sysconfig/network

Zakázat podporu pro ipv6 lze editací výše uvedených souborů.

Do /etc/modprobe.conf přidáme:

install ipv6 /bin/true

Do /etc/sysconfig/network:

NETWORKING_IPV6=no
IPV6INIT=no

Následně pak bude potřeba restartovat síťové služby:

service network restart
rmmod ipv6

Ověření zda je podpora pro ipv6 zakázána

lsmod | grep ipv6
/sbin/ifconfig

Publikováno 4.9.2015 v 11:09 | Kategorie: Fedora

Jak na automatické aktualizace ve Fedoře 22

Moc se to nedoporučuje, protože aktualizace systému by si měl každý provádět pod osobním dohledem, aby nedošlo k nějaké neočekávané změně. Někomu to ale možná přijde vhod. To už nechám čistě na vás. Pojďmě si ale ukázat jak se dá automaticky aktualizovaného systému založeného na linuxové distrubici Fedora docílit.

Skript denně spouštěný pomocí crona

Ke zprovoznění automatických aktualizací v našem systému si vytvoříme jednoduchý bash skript, který pak necháme cronem denně spouštět. Základní skript by mohl mít asi takovouto podobu:

#!/bin/bash
dnf -y upgrade
dnf -y autoremove
dnf -y clean all

Hotový skript pak stačí uložit do /etc/cron.daily, což je adresář ze kterého se každý den spouští tam umístěné skripty. Souboru samozřejmě musíme také dát potřebná oprávnění. V jednotlivých krocích to může vypadat např. takto:

  1. vytvořenému skriptu, který jsme pojmenovali např. upgrade dáme práva na spouštění:

    chmod +x upgrade

  2. ujistíme se, že na soubor má práva pouze root uživatel:

    chown root:root upgrade

  3. a nakonec ho přesuneme do daného adresáře /etc/cron.daily:

    mv upgrade /etc/cron.daily

Další možné součásti skriptu

Samozřejmě není úplně ideální nechat si v systému pravidělně spouštět skript a nemít přehled o tom co udělal. V tomto ohledu bych vám doporučil několik možností jak skript trochu vylepšit (konkrétně nechat si e-mailem posílat informaci o tom že skript proběhl, informaci o aktuální verzi jádra, PHP, MySQL a co vše bylo aktualizováno):

#!/bin/bash
EMAIL=mail@domena.koncovka

#aktualizace
dnf -y upgrade
dnf -y autoremove
dnf -y clean all

#moduly
m-a update
m-a prepare << EOF
y
EOF


#vypíše text do souboru upgrade.txt
echo "Provedena aktualizace systemu. Nize si muzete zkontrolovat aktualni verzi jadra, PHP, MySQL a vsechny posledni zmeny, ktere byly v ramci aktualizace (dnf) provedeny." > upgrade.txt &&
printf "\n" >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#vypíše verzi jádra do souboru upgrade.txt
echo "Verze jadra" >> upgrade.txt && echo "============================================================================" >> upgrade.txt &&
uname -a >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#přidá do souboru upgrade.txt informaci o aktuální nainstalované verzi PHP
echo "Verze PHP" >> upgrade.txt && echo "===============================================================================" >> upgrade.txt &&
php -v | awk 'NR==1{print $2}' >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#přidá do souboru upgrade.txt informaci o aktuální nainstalované verzi MySQL
echo "Verze MySQL" >> upgrade.txt && echo "===============================================================================" >> upgrade.txt &&
mysql -V | awk 'NR==1{print $5}' | sed 's/.$//' >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#přidá do souboru upgrade.txt posledních 100 řádků z logu dnf
echo "Log dnf" >> upgrade.txt && echo "============================================================================" >> upgrade.txt &&
tail -n 100 /var/log/dnf.rpm.log >> upgrade.txt &&
printf "\n" >> upgrade.txt &&

#odešle obsah souboru upgrade.txt na uvedený e-mail
cat upgrade.txt | mail -s "Provedena aktualizace systemu" $EMAIL

#smaže soubor upgrade.txt
rm upgrade.txt

Publikováno 4.9.2015 v 09:39 | Kategorie: Fedora