Lo stack LAMP è una raccolta di software open source installati insieme sul sistema operativo Linux per far funzionare il tuo sito Web e l'applicazione Web su di esso. LAMP o - Linux, Apache, MySQL e PHP - fornisce le basi per ospitare applicazioni Web basate su PHP e MySQL (come Wordpress, Joomla, Drupal ecc.) eseguite su di esso.
In questo tutorial, ti guiderò attraverso i passaggi per installare lo stack LAMP con OpenSUSE Leap 42.1 come sistema operativo Linux. Installeremo apache2 con MariaDB e PHP sul server. Includerò l'installazione di phpMyAdmin per l'amministrazione di MySQL e proteggerò phpMyAdmin con un file .htaccess.
Prerequisiti
Userò OpenSUSE leap con indirizzo IP:192.168.1.101 su questo server. Molto probabilmente è diverso dalle tue impostazioni, quindi devi sostituire l'IP con il tuo IP ovunque si verifichi.
- OpenSUSE Leap 42.1 - server.
- Privilegi di root
Accedi al server openSUSE e ottieni i privilegi di root con sudo:
ssh [email protected]
sudo su
Passaggio 1:configurazione di SuSEfirewall2
SuSEfirewall2 è basato su iptables, genererà le regole di iptables dal file di configurazione "/etc/sysconfig/SuSEfirewall2". Protegge il tuo server da attacchi di rete e pacchetti indesiderati.
In questo passaggio, installeremo SuSEfirewall2 e quindi lo configureremo per consentire l'accesso al servizio ssh e l'accesso ad apache per l'accesso web sulla porta 80.
Installa SuSEfirewall2 con il comando zypper:
zypper in SuSEfirewall2
Modifica il file di configurazione con vim:
vim /etc/sysconfig/SuSEfirewall2
Vai alla riga 321, definisci i tuoi servizi in modo che tutti possano accedervi, per ora definiremo sshd e apache2:
FW_CONFIGURATIONS_EXT="sshd apache2"
Quindi, riavvia SuSEfirewall e riavvia i servizi sshd:
/sbin/rcSuSEfirewall2 restart
systemctl restart sshd
se vuoi testare la configurazione, puoi usare telnet per accedere alla porta del servizio ssh dall'esterno della rete:
telnet 192.168.1.101 22
Fase 2 - Installa e configura Apache
Apache2 è disponibile nel repository openSUSE, quindi non è necessario aggiungere alcun repository aggiuntivo. Possiamo continuare questa guida e installare apache2 con il comando zypper:
zypper in apache2
Ora vai alla directory principale dei documenti del server web "/srv/www/htdocs/" e crea un nuovo file index.html in modo da poter testare che apache2 funzioni:
cd /srv/www/htdocs/
echo "<h1>This is Apache OpenSUSE Leap 42.1</h1>" > index.html
Quindi, aggiungi i servizi apache per iniziare all'avvio e avvia apache2 con systemctl:
systemctl enable apache2
systemctl start apache2
Ora apri il tuo browser web e accedi all'indirizzo IP del server opnsuse da esso:
http://192.168.1.101/
Fase 3 - Installa e configura MariaDB
MariaDB è un sistema di gestione di database relazionali derivato da MySQL. MariaDB è sviluppato dallo sviluppatore originale di MySQL (Monty Widenius) e ora ha rilasciato la versione stabile 10.1. Ha lo stesso set di funzionalità di MySQL 5.6 e 5.7.
In questo passaggio, installeremo MariaDB e mariadb-client con zypper e quindi configureremo la password MariaDB.
Installa mariadb e mariadb-client:
zypper in mariadb mariadb-client
Ora avvia il servizio mariadb e aggiungi il servizio da eseguire all'avvio con systemctl:
systemctl start mysql
systemctl enable mysql
Ora configura la password di root thMariaDBdb con il comando seguente:
mysql_secure_installation
Digita la password desiderata quando richiesto:
Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y
Quindi, verifica l'accesso al server MariaDB con la password che abbiamo configurato in precedenza.
mysql -u root -p
TYPE YOUR PASSWORD
Fase 4 - Installa e configura PHP
PHP è uno dei linguaggi di scripting lato server più popolari per lo sviluppo web e può essere incorporato nelle pagine HTML. In questo tutorial, ti guiderò attraverso l'installazione di PHP 5.5 e lo configurerò per funzionare con il server Web Apache e il database MySQL.
Installa php e le estensioni php necessarie per questo tutorial. Dobbiamo installare l'estensione php-mysql per consentire agli script PHP di connettere tMySQLql e abbiamo bisogno di php-mcrypt e php-gd per phpMyAdmin. Installali con il comando zypper di seguito:
zypper in php5 php5-mysql php5-mcrypt apache2-mod_php5 php5-mbstring php-mcrypt php-gd php-json php-zlib
Abilita il modulo php5 in apache e riavvia il server web apache:
a2enmod php5
systemctl restart apache2
Nota:
a2enmod extension =comando per abilitare il modulo apache.
Successivamente, per assicurarti che php5 e apache funzionino correttamente, puoi testarli creando un file phpinfo nella directory principale del documento "/srv/www/htdocs/".
Vai alla directory e crea il file info.php.
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
Ora apri il tuo browser e digita l'ip del tuo server e il percorso del file di informazioni php.
http://192.168.1.101/info.php
Puoi vedere che thaPHPhp e apache funzionano e puoi vedere che l'estensione MySQL è stata caricata.
Fase 5 - Installa e configura phpMyAdmin
phpMyAdmin è un famoso software open source basato su PHP che ci consente di gestire facilmente i database MySQL/MariaDB da un browser web. Fornisce un'ottima interfaccia utente ed è facile da configurare su molti server web.
Questo passaggio riguarderà l'installazione di phpMyAdmin e quindi lo configureremo per renderlo sicuro limitando l'accesso con un file .htaccess.
phpMyAdmin è disponibile nel repository di openSUSE, puoi continuare a installarlo con il comando zypper:
zypper in phpMyAdmin
Per far funzionare phpMyAdmin con PHP e apache, dobbiamo abilitare l'estensione php_mbstring nel file php.ini. Modifica il file con vim:
vim /etc/php5/apache2/php.ini
Vai alla riga 873 e decommenta l'estensione php_mbsting per abilitarla:
extension=php_mbstring.dll
Salva il file ed esci dall'editor.
Ora metteremo al sicuro phpMyAdmin limitando l'accesso alla pagina phpMyAdmin con un file .htaccess.
Prima di creare il file .htaccess nella directory phpMyAdmin, dobbiamo modificare il file virtualhost phpMyAdmin nella directory apache per consentire l'override della configurazione da un file .htaccess. Vai alla directory "/etc/apache2/conf.d/" e modifica il file phpMyAdmin.conf con vim:
cd /etc/apache2/conf.d/
vim phpMyAdmin.conf
nella riga 3, cambia "AllowOverride Nessuno" in "AllowOverride tutto":
AllowOverride all
Salva ed esci.
Quindi, vai alla directory web di phpMyAdmin e crea un nuovo file htaccess:
cd /srv/www/htdocs/phpMyAdmin/
vim .htaccess
incolla la configurazione qui sotto:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpMyAdmin/.htpasswd
Require valid-user
Salva ed esci.
Nota:
AuthType =Tipo di metodo di autenticazione utilizzato da un utente, l'utilizzo del metodo comune è Basic, implementato da mod_auh_basic.
AuthName =Nome autenticazione direttiva.
AuthUserFile =Directory del file .htpasswd su "/etc/phpMyAdmin/.htpasswd"
Require valid-user =Di' a .htaccess di concedere l'accesso alla directory riservata solo all'utente sul file .htpasswd.
Quindi, riavvia il servizio apache2 e configura la password e l'utente:
systemctl restart apache2
Per consentire a un utente di accedere alla pagina phpMyAdmin, dobbiamo definire l'utente nel file .htpasswd. Genera l'utente con una password crittografata con il comando htpasswd:
htpasswd -c /etc/phpMyAdmin/.htpasswd megumi
Il comando creerà un nuovo utente "megumi" che potrà accedere alla pagina phpMyAdmin. L'opzione "-c" viene utilizzata per creare un nuovo file .htpasswd, quindi se vogliamo aggiungere un altro utente, possiamo usare htpasswd senza l'opzione -c:
htpasswd /etc/phpMyAdmin/.htpasswd yuki
Ora nel browser web, digita l'url phpMyAdmin e ti verrà chiesto l'utente e la password dal file .htpasswd.
http://192.168.1.101/phpMyAdmin/
Digita nome utente e password e premi Login in modo da poter accedere a phpMyAdmin.
Ora digita il nome utente e la password MySQL e accedi. Puoi vedere la dashboard di phpMyAdmin.
Ora lo stack LAMP con phpMyAdmin è installato su openSUSE Leap 42.1.