GNU/Linux >> Linux Esercitazione >  >> FreeBSD

Come installare lo stack Nginx, MariaDB e PHP (FEMP) su FreeBSD

Questo tutorial ti guiderà su come installare e configurare FBEMP in FreeBSD 11.x ultima uscita. FBEMP è un acronimo che descrive la seguente raccolta di software:

FreeBSD 11.1 Distribuzione simile a Unix, server web Nginx, sistema di gestione del database relazionale MariaDB (un fork della community di MySQL) e linguaggio di programmazione dinamico PHP che gira sul lato server.

Requisiti

  1. Installazione di FreeBSD 11.x
  2. 10 cose da fare dopo l'installazione di FreeBSD

Fase 1:installa Nginx Web Server su FreeBSD

1. Il primo servizio che installeremo per il nostro FBEMP impilare in FreeBSD è il server web, rappresentato da Nginx software.

Nginx il server web ha più pacchetti precompilati disponibili in FreeBSD 11.x PORTS . Per ottenere un elenco di Nginx binari da Porte repository, immetti i seguenti comandi nel tuo terminale del server.

# ls /usr/ports/www/ | grep nginx
# pkg search -o nginx

2. In questa particolare configurazione, installeremo la versione del pacchetto principale di Nginx eseguendo il comando seguente. Il pacchetto la gestione dei pacchetti ti chiederà se vuoi procedere con l'installazione del pacchetto nginx. Rispondi con sì (y nella riga di comando) per avviare il processo di installazione.

# pkg install nginx

3. Dopo aver installato il pacchetto del server web Nginx nel tuo sistema, esegui i seguenti comandi per abilitare il demone a livello di sistema e avviare il servizio nel tuo sistema.

# sysrc nginx_enable="yes"
# service nginx start

4. Successivamente, utilizzando il sockstat comando, verifica i socket di rete del servizio Nginx, se sono vincolanti su 80/TCP port, eseguendo il comando seguente. L'output del comando socksstat verrà inviato tramite pipe tramite l'utilità grep in modo da ridurre i risultati restituiti solo alla stringa nginx.

# sockstat -4 | grep nginx

5. Infine, apri un browser su un computer desktop nella tua rete e visita la pagina Web predefinita di Nginx tramite il protocollo HTTP. Scrivi il FQDN della tua macchina o del tuo nome di dominio o l'indirizzo IP del tuo server nell'URL del browser archiviato per richiedere la pagina Web predefinita del server web Nginx. Il messaggio "Benvenuto in nginx! ” dovrebbe essere visualizzato nel tuo browser, come illustrato nello screenshot qui sotto.

http://yourdomain.com
http://your_server_IP
http://your_machine_FQDN

6. La directory webboot predefinita per i contenuti web di Nginx si trova in /usr/local/www/nginx/ percorso di sistema assoluto. In questa posizione dovresti creare, copiare o installare file di contenuti web, come .html o .php file, per il tuo sito web.

Per cambiare questa posizione, modifica il file di configurazione principale di nginx e cambia la direttiva root in modo che rifletta il tuo nuovo percorso webroot.

# nano /usr/local/etc/nginx/nginx.conf

Qui, cerca e aggiorna la seguente riga per riflettere il tuo nuovo percorso webroot:

root	/path/to/new/webroot;

Fase 2:installa PHP su FreeBSD

7. A differenza di Apache HTTP server, Nginx non ha la capacità di elaborare nativamente il codice PHP. In cambio, il server web Nginx passa le richieste PHP a un interprete PHP, come php-fpm FastCGI demone, che ispeziona ed esegue il codice. Il codice risultante viene quindi restituito a Nginx, che riassembla il codice nel formato html richiesto e invia il codice ulteriormente al browser Web del visitatore.

FreeBSD 11.x I repository Ports offrono più versioni binarie per il linguaggio di programmazione PHP, come PHP 5.6 , PHP 7.0 e PHP 7.1 rilasci. Per visualizzare tutte le versioni PHP precompilate disponibili in FreeBSD 11.x , esegui i comandi seguenti .

# pkg search -o php
# ls /usr/ports/lang/ | grep php

8. Puoi scegliere di installare la versione di PHP che ritieni più adatta per l'applicazione web che esegui nel tuo sistema. Tuttavia, in questa guida installeremo l'ultima versione di PHP.

Per installare PHP 7.1 release e alcuni importanti moduli PHP richiesti per diverse applicazioni web, esegui il comando seguente.

# pkg install php71 php71-mysqli php71-mcrypt php71-zlib php71-gd php71-json mod_php71 php71-mbstring php71-curl

9. Dopo aver installato i pacchetti PHP nel tuo sistema, apri PHP-FPM file di configurazione per Nginx e regola i valori dell'utente e del gruppo in modo che corrispondano al valore dell'utente di runtime Nginx, che è www . Innanzitutto, fai un backup del file con il comando seguente.

# cp /usr/local/etc/php-fpm.d/www.conf{,.backup}

Quindi, apri il file e aggiorna le seguenti righe come presentato nell'esempio seguente.

user = www
group = www

10. Inoltre, crea un file di configurazione PHP utilizzato per la produzione eseguendo il comando seguente. Su questo file puoi apportare modifiche personalizzate che verranno applicate all'interprete PHP in fase di esecuzione.

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

Ad esempio, cambia il date.timezone impostazione per l'interprete PHP per aggiornare la posizione fisica della macchina come mostrato nell'esempio seguente. L'elenco dei fusi orari PHP può essere trovato qui:http://php.net/manual/en/timezones.php.

# vi /usr/local/etc/php.ini

Aggiungi il seguente fuso orario (imposta il fuso orario in base al tuo paese).

date.timezone = Europe/London

Puoi anche regolare altre variabili PHP, come la dimensione massima del file caricato, che può essere aumentata modificando i seguenti valori:

upload_max_filesize = 10M
post_max_size = 10M

11. Dopo aver effettuato le impostazioni personalizzate per PHP, abilita e avvia PHP-FPM demone per applicare le nuove configurazioni emettendo i comandi seguenti.

# sysrc php_fpm_enable=yes
# service php-fpm start

12. Per impostazione predefinita, PHP-FPM il demone in FreeBSD si collega a un socket di rete locale sulla porta 9000/TCP . Per visualizzare PHP-FPM socket di rete eseguono il comando seguente.

# sockstat -4 -6| grep php-fpm

13. Affinché il server web Nginx trasmetta gli script PHP a FastCGI server gateway, in ascolto su 127.0.0.1:9000 socket, apri il file di configurazione principale di Nginx e aggiungi il seguente blocco di codice come illustrato nell'esempio seguente.

# vi /usr/local/etc/nginx/nginx.conf

Blocco di codice FastCGI per nginx:

 location ~ \.php$ {
        root	/usr/local/www/nginx;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME $request_filename;    
        include        fastcgi_params;
        	}

14. Per visualizzare le informazioni PHP correnti per il tuo server, crea un info.php file nel percorso webboot di Nginx eseguendo il comando seguente.

# echo "<?php phpinfo(); ?>" | tee /usr/local/www/nginx/info.php

15. Quindi, testa e riavvia il demone Nginx per applicare il PHP FastCGI impostazioni e visita il info.php pagina in un browser.

# nginx -t # Test nginx configuration file for syntax errors
# service nginx restart

Sostituire di conseguenza l'indirizzo IP o il nome di dominio nei collegamenti seguenti. La pagina delle informazioni PHP dovrebbe visualizzare le informazioni come illustrato nello screenshot seguente.

http://yourdomain.com/info.php
http://server_IP-or-FQDN/info.php

Fase 3:installa MariaDB su FreeBSD

16. L'ultimo componente mancante dal tuo FEMP pila nel database. MariaDB/MySQL è uno dei software RDBMS open source più associati con il server Web Nginx utilizzato per la distribuzione di siti Web dinamici.

In realtà, MariaDB/MySQL è uno dei database relazionali più utilizzati al mondo. Ricerca attraverso porte FreeBSD , puoi trovare più versioni di MariaDB/MySQL .

In questa guida installeremo MariaDB database, che è un fork della community di MySQL Banca dati. Per cercare le versioni disponibili di MariaDB , immetti i seguenti comandi nel terminale.

# ls -al /usr/ports/databases/ | grep mariadb
# pkg search mariadb

17. Per installare l'ultima versione del server di database MariaDB, eseguire il comando seguente. Dovresti anche installare il modulo del driver del database relazionale PHP utilizzato dagli script PHP per la connessione a MySQL.

# pkg install mariadb102-server php71-mysqli

18. Dopo aver installato il database, abilita il demone MySQL e avvia il servizio database eseguendo i seguenti comandi.

# sysrc mysql_enable="YES" 
# service mysql-server start

19. Inoltre, assicurati di riavviare PHP-FPM demone per caricare l'estensione del driver MySQL.

# service php-fpm restart
20. On the next step, secure MariaDB database by launching mysql_secure_installation script. Use the below sample of the installation script in order to answer the questions. Basically, say yes (y) for all asked questions to secure the database and type a strong password for MySQL root user.
# /usr/local/bin/mysql_secure_installation
Output dello script di installazione sicura di MySQL
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
 
In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
 
Enter current password for root (enter for none):
OK, successfully used password, moving on...
 
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
 ... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
 ... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
 ... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
 ... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!

21. Per testare la connessione al database MariaDB dalla console, eseguire il comando seguente.

# mysql -u root -p -e "show status like ‘Connections’"

22. Per proteggere ulteriormente MariaDB, che per impostazione predefinita ascolta le connessioni di rete in entrata su 0.0.0.0:3306/TCP socket, immetti il ​​comando seguente per forzare il collegamento del servizio su loopback interfaccia e impedire completamente l'accesso remoto. Successivamente, riavvia il servizio MySQL per applicare la nuova configurazione.

# sysrc mysql_args="--bind-address=127.0.0.1"
# service mysql-server restart

Verifica se il localhost l'associazione è stata applicata correttamente eseguendo il comando netstat come mostrato nell'esempio seguente.

# netstat -an -p tcp

È tutto! Hai installato con successo il server web Nginx, il database relazionale MariaDB e il linguaggio di programmazione lato server PHP in FreeBSD. Ora puoi iniziare a creare pagine web dinamiche per offrire contenuti web ai tuoi visitatori.


FreeBSD
  1. Come installare Nginx, PHP e MySQL (LEMP Stack) su OpenSUSE Leap 42.1

  2. Come installare Nginx con PHP e MySQL (stack LEMP) su CentOS 7

  3. Come installare Linux, Nginx, MariaDB, PHP (LEMP Stack) in CentOS 7 / RHEL 7

  4. Come installare lo stack Apache, MariaDB e PHP (FAMP) su FreeBSD

  5. Come installare lo stack Apache, MariaDB e PHP (FAMP) su FreeBSD 11

Come installare Linux, Nginx, MySQL, PHP (LEMP Stack) in Ubuntu 18.04

Come installare WordPress con FAMP Stack in FreeBSD

Come installare lo stack LEMP (Nginx, MariaDB e PHP) su AlmaLinux 8

Come installare Nginx e PHP su Debian 10

Come installare Linux, Nginx, MariaDB e PHP (LEMP) su Fedora 22

Come installare FEMP (FreeBSD 10, Nginx, MySQL, PHP) su un server Cloud o VPS