Pokud chcete použit Orange Pi jako Web server, je instalace poměrně jednoduchá. Po internetu je dost návodů, ale vždy mi na nich něco chybělo a tak jsem se rozhodl napsat krátký návod, který se snad bude někomu hodit. Instalace bude probíhat na Armbianu.
Nejdříve se ujistěte, že máte aktuální systém:
sudo apt-get update
sudo apt-get upgrade
INSTALACE
1) Začněme instalací PHP a MariaDB:
sudo apt-get install php mariadb-server mariadb-client php7.0-cli php7.0-cgi php7.0-fpm
2) Po instalaci službu vypneme:
sudo service mysql stop
3) Necháme vytvořit základní databázovou strukturu:
sudo mysql_install_db
4) Službu opět spustíme:
sudo service mysql start
5) V dalším kroku odstraníme testovací databázi a anonymní uživatele.
sudo mysql_secure_installation
Pokud jste při instalaci nezadávali heslo pro root uživatele, požadavek na zadání jen potvrďte. Druhý dotaz bude, zda chceme nastavit heslo pro roota. Zvolíme „Y“ a zadáme 2x libovolné heslo pro uživatele. Heslo si minimálně někam zapište.
V dalších volbách budeme postupovat následovně:
Remove anonymous users? – Zvolíme ano, tím odstraníme anonymní uživatele.
Disallow root login remotely? – Ano, nebudeme se připojovat mimo localhost.
Remove test database and access to it? – Ano, odstraníme testovací databázi.
Reload privilege tables now? – Ano, obnovení práv pro databázi.
6) Máme hotovo a můžeme nainstalovat Nginx:
sudo apt-get install nginx
7) A konečně phpMyadmin:
sudo apt-get install phpmyadmin
V prvním kroku vybíráme web server. Nginx tam nenajdeme, obrazovku jen bez výběru potvrdíme.
V dalším kroku instalátor nabídne použití přednastavené konfigurace databáze. Ten by měl pro naše účely stačit, volbu potvrdíme.
V posledních dvou krocích budeme zadávat heslo pro databázi a také uživatele phpMyadmin do samotné aplikace.
Super, instalace jsou za námi a můžeme se podívat na konfiguraci Nginxu.
KONFIGURACE NGINX
Dejme tomu, že jako složku pro naše weby budeme mít složku /var/www/html. Vytvoříme si v ní symlink na adresář phpmyadmin.
sudo ln -s /usr/share/phpmyadmin /var/www/html/
Pro jistotu zkontrolujeme práva na adresář:
sudo chmod -R 755 /var/www
Nginx pro konfiguraci používá adresáře /etc/nginx/sites-available a /etc/nginx/sites-enabled/. Vytvoříme si v sites-available konfigurační soubor pro phpMyadmin a ten pak do sites-enabled nalinkujeme.
Začneme z default konfigurace:
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/phpmyadmin
A tu si upravíme pro naše potřeby:
sudo nano /etc/nginx/sites-available/phpmyadmin
server { listen 80; #Port, na kterém bude Nginx poslouchat server_name 192.168.100.50; #Adresa Orange Pi - zjistíte přes ifconfig -a root /var/www/html/; #Kořenový adresář, kam jsme nalinkovali phpMyadmin index index.html index.htm index.nginx-debian.html index.php; # nezapomeňme dopsat index.php #Obecné nastavení php souborů a chování Nginx location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } #Nastavení php souborů a chování Nginx v phpmyadmin složce. #Tím si i zajistíme, že nám bude fungovat přistup přes http://ip_adresa/phpmyadmin location ~ ^phpmyadmin { try_files $uri =404; include /etc/nginx/fastcgi.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } }
Poslední věc, která nám chybí, je vytvořit symlink v sites-enabled:
sudo ln -s /etc/nginx/sites-available/phpmyadmin /etc/nginx/sites-enabled/
Nakonec reloadnem config Nginx:
systemctl reload nginx
Založení root uživatele pro phpMyAdmin
Od MySQL verze 5.7 byl změněn model zabezpečení a od této verze přístup za „root“ vyžaduje sudo, proto se s ním není možné přes phpMyAdmin přihlásit. Založíme nového uživatele s root právem.
Spustíme MySql přes roota:
sudo mysql --user=root mysql
Vytvoříme uživatele, kde za „uzivatel“ dáme libovolné uživatelské jméno a za „heslo“ jeho heslo:
CREATE USER 'uzivatel'@'localhost' IDENTIFIED BY 'heslo';
GRANT ALL PRIVILEGES ON *.* TO 'uzivatel'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
A pokud jste udělali vše správně a já na nic nezapomněl, uvidíme na http://ip_adresa/phpmyadmin/ okno po přihlášení.