GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Esecuzione di concrete5 su Nginx (LEMP) su Debian Squeeze/Ubuntu 12.10

Questo tutorial mostra come installare ed eseguire un sito Web concrete5 su un sistema Debian Squeeze o Ubuntu 12.10 su cui è installato nginx invece di Apache (LEMP =L inux + nginx (pronunciato "e ngine x") + M ySQL + P HP). nginx è un server HTTP che utilizza molte meno risorse di Apache e fornisce le pagine molto più velocemente, in particolare i file statici. concrete5 è un sistema di gestione dei contenuti (CMS) gratuito e open source.

Non garantisco che questo funzionerà per te!

1 Nota preliminare

Voglio installare concrete5 in un vhost chiamato www.example.com/example.com qui con la radice del documento /var/www/www.example.com/web.

Dovresti avere un'installazione LEMP funzionante, come mostrato in questi tutorial:

  • Installazione di Nginx con PHP5 e supporto MySQL su Debian Squeeze
  • Installazione di Nginx con PHP5 (e PHP-FPM) e supporto MySQL su Ubuntu 12.10

Una nota per gli utenti di Ubuntu:

Poiché dobbiamo eseguire tutti i passaggi di questo tutorial con i privilegi di root, possiamo anteporre tutti i comandi in questo tutorial con la stringa sudo, oppure diventare root in questo momento digitando

sudo su

2 Installazione di APC

APC è un cacher di codice operativo PHP gratuito e aperto per la memorizzazione nella cache e l'ottimizzazione del codice intermedio PHP. È simile ad altri cacher di codice operativo PHP, come eAccelerator e XCache. Si consiglia vivamente di averne uno installato per velocizzare la tua pagina PHP.

APC può essere installato come segue:

apt-get install php-apc

Se usi PHP-FPM come demone FastCGI (come in Installazione di Nginx con PHP5 (e PHP-FPM) e supporto MySQL su Ubuntu 12.10), riavvialo come segue:

/etc/init.d/php5-fpm restart

Se usi il programma spawn-fcgi di lighttpd come demone FastCGI (come in Installazione di Nginx con supporto PHP5 e MySQL su Debian Squeeze), dobbiamo terminare il processo spawn-fcgi corrente (in esecuzione sulla porta 9000) e crearne uno nuovo. Corri

netstat -tap

per scoprire il PID dell'attuale processo spawn-fcgi:

[email protected]:~# netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:sunrpc                *:*                     LISTEN      734/portmap
tcp        0      0 *:www                   *:*                     LISTEN      2987/nginx
tcp        0      0 *:ssh                   *:*                     LISTEN      1531/sshd
tcp        0      0 *:57174                 *:*                     LISTEN      748/rpc.statd
tcp        0      0 localhost.localdom:smtp *:*                     LISTEN      1507/exim4
tcp        0      0 localhost.localdom:9000 *:*                     LISTEN      1542/php5-cgi
tcp        0      0 localhost.localdo:mysql *:*                     LISTEN      1168/mysqld
tcp        0     52 server1.example.com:ssh 192.168.0.198:2462      ESTABLISHED 1557/0
tcp6       0      0 [::]:www                [::]:*                  LISTEN      2987/nginx
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN      1531/sshd
tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN      1507/exim4
[email protected]:~#

Nell'output sopra, il PID è 1542, quindi possiamo terminare il processo corrente come segue:

kill -9 1542

Successivamente creiamo un nuovo processo spawn-fcgi:

/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -g www-data -f /usr/bin/php5-cgi -P /var/run/fastcgi-php.pid

3 Installazione del calcestruzzo5

La radice del documento del mio sito Web www.example.com è /var/www/www.example.com/web - se non esiste, creala come segue:

mkdir -p /var/www/www.example.com/web

Poiché concrete5 viene fornito come file .zip, è necessario installare unzip:

apt-get install unzip

Quindi scarichiamo concrete5 (http://www.concrete5.org/developers/downloads/) e lo posizioniamo nella nostra radice del documento:

cd /tmp
mkdir concrete5
cd concrete5
wget -O concrete5.6.0.2.zip http://www.concrete5.org/download_file/-/view/44326/8497/
unzip concrete5.6.0.2.zip
rm -f concrete5.6.0.2.zip
cd concrete5.6.0.2/
mv * /var/www/www.example.com/web/

Si consiglia di rendere scrivibili la root del documento e i file concrete5 in esso contenuti dal demone nginx che è in esecuzione come utente www-data e gruppo www-data:

chown -R www-data:www-data /var/www/www.example.com/web

Se non hai già creato un database MySQL per concrete5 (incluso un utente MySQL concrete5), puoi farlo come segue (in questo esempio nomino il database concrete5 e l'utente si chiama concrete5_admin e la sua password è concrete5_admin_password):

mysqladmin -u root -p create concrete5
mysql -u root -p
GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5_admin'@'localhost' IDENTIFIED BY 'concrete5_admin_password';
GRANT ALL PRIVILEGES ON concrete5.* TO 'concrete5_admin'@'localhost.localdomain' IDENTIFIED BY 'concrete5_admin_password';
FLUSH PRIVILEGES;
quit;

Quindi creiamo una configurazione vhost nginx per il nostro vhost www.example.com nella directory /etc/nginx/sites-available/ come segue (ho modificato la posizione della posizione PHP ~ \.php($|/) {} in base a http://www.justasysadmin.net/en/practical/configuration-concrete-5-nginx/):

vi /etc/nginx/sites-available/www.example.com.vhost
server {
       listen 80;
       server_name www.example.com example.com;
       root /var/www/www.example.com/web;

       if ($http_host != "www.example.com") {
                 rewrite ^ http://www.example.com$request_uri permanent;
       }

       index index.php index.html index.htm default.html default.htm;

       location = /favicon.ico {
                log_not_found off;
                access_log off;
       }

       location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
       }

       # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
       location ~ /\. {
                deny all;
                access_log off;
                log_not_found off;
       }

       location / {
                try_files $uri $uri/ /index.php$request_uri /index.php;
       }

       location ~ \.php($|/) {
                try_files $uri =404;
                fastcgi_pass unix:/var/run/php5-fpm.sock; # use this if PHP-FPM is running on Unix socket /var/run/php5-fpm.sock (Ubuntu 12.10 default)
                #fastcgi_pass 127.0.0.1:9000; # use this if PHP-FPM is running on TCP port 9000 (Debian Squeeze default)
                include /etc/nginx/fastcgi_params;
                fastcgi_index index.php;
                set $script $uri;
                set $path_info "";
                if ($uri ~ "^(.+\.php)(/.+)") {
                        set $script $1;
                        set $path_info $2;
                }
                fastcgi_param URI $uri;
                fastcgi_param PATH_INFO $path_info;
                fastcgi_param SCRIPT_NAME $script;
                fastcgi_param SCRIPT_FILENAME $document_root$script;
       }
}

Per abilitare quel vhost, creiamo un collegamento simbolico ad esso dalla directory /etc/nginx/sites-enabled/:

cd /etc/nginx/sites-enabled/
ln -s /etc/nginx/sites-available/www.example.com.vhost www.example.com.vhost

Ricarica nginx per rendere effettive le modifiche:

/etc/init.d/nginx reload

Ora possiamo avviare il programma di installazione concrete5 basato sul Web andando su http://www.example.com - assicurati che il tuo sistema soddisfi tutti i requisiti e fai clic su Continua all'installazione in seguito:

Quindi specifica un nome del sito, un indirizzo e-mail e una password dell'amministratore e inserisci i dettagli del database MySQL. Quindi scorri verso il basso:

Nella parte inferiore della pagina puoi scegliere di installare alcuni contenuti demo o un sito vuoto. Fai la tua scelta e clicca su Installa concrete5:

concrete5 è ora in fase di installazione:

Dopo una corretta installazione, vedrai questo messaggio. Clicca su Continua al tuo sito per andare alla tua prima pagina concrete5:

Quando visiti per la prima volta la prima pagina, c'è un overlay Javascript che contiene alcuni link utili. Puoi fare clic su di esso:

Ecco come appare la tua prima pagina (con contenuto demo). Gli URL reali dovrebbero funzionare immediatamente.

Questa è la dashboard di conrete5:

Ed ecco come appare il sito demo a un normale visitatore:

  • concrete5:http://www.concrete5.org/
  • nginx:http://nginx.org/
  • Wiki di nginx:http://wiki.nginx.org/
  • Debian:http://www.debian.org/
  • Ubuntu:http://www.ubuntu.com/

Informazioni sull'autore

Falko Timme è il proprietario di Timme Hosting (hosting web nginx ultra veloce). È il principale manutentore di HowtoForge (dal 2005) e uno dei principali sviluppatori di ISPConfig (dal 2000). Ha anche contribuito al libro di O'Reilly "Linux System Administration".


Ubuntu
  1. Come installare e configurare Nginx su Ubuntu 18.04 / Debian 9

  2. Esecuzione di TYPO3 6.2 su Nginx (LEMP) su Debian Wheezy/Ubuntu 13.10

  3. Come installare TYPO3 7 su Nginx (LEMP) su Ubuntu 15.10

  4. Come installare LEMP su Ubuntu 16.04

  5. Come installare LEMP su Ubuntu 18.04

Come installare lo stack LEMP su Ubuntu 20.04 Server/Desktop

Come installare Nginx, MySQL e PHP (LEMP) su Ubuntu 20.04

Come installare LEMP su Ubuntu 15.10

Come installare LEMP su Ubuntu 16.04

Come installare LEMP su Ubuntu 18.04 LTS

Come installare LEMP su Ubuntu 20.04 LTS