GNU/Linux >> Znalost Linux >  >> Ubuntu

Spuštění concrete5 na Nginx (LEMP) na Debian Squeeze/Ubuntu 12.10

Tento tutoriál ukazuje, jak můžete nainstalovat a spustit konkrétní webovou stránku5 na systému Debian Squeeze nebo Ubuntu 12.10, který má nainstalovaný nginx místo Apache (LEMP =L inux + nginx (vyslovuje se „e ngine x") + M ySQL + P HP). nginx je HTTP server, který využívá mnohem méně zdrojů než Apache a poskytuje stránky mnohem rychleji, zejména statické soubory. concrete5 je bezplatný a otevřený systém pro správu obsahu (CMS).

Neposkytuji žádnou záruku, že to pro vás bude fungovat!

1 předběžná poznámka

Chci zde nainstalovat concrete5 do vhost s názvem www.example.com/example.com s kořenem dokumentu /var/www/www.example.com/web.

Měli byste mít funkční instalaci LEMP, jak je ukázáno v těchto výukových programech:

  • Instalace Nginx s podporou PHP5 a MySQL na Debian Squeeze
  • Instalace Nginx s PHP5 (a PHP-FPM) a podporou MySQL na Ubuntu 12.10

Poznámka pro uživatele Ubuntu:

Protože musíme všechny kroky z tohoto tutoriálu spustit s právy root, můžeme buď před všechny příkazy v tomto tutoriálu přidat řetězec sudo, nebo se staneme rootem hned teď zadáním

sudo su

2 Instalace APC

APC je bezplatný a otevřený PHP opcode cacher pro ukládání do mezipaměti a optimalizaci PHP přechodného kódu. Je to podobné jako u jiných cacherů PHP operačních kódů, jako jsou eAccelerator a XCache. Důrazně se doporučuje mít jeden z nich nainstalovaný, aby se urychlila vaše stránka PHP.

APC lze nainstalovat následovně:

apt-get install php-apc

Pokud používáte PHP-FPM jako svého FastCGI démona (jako v Instalace Nginx s podporou PHP5 (a PHP-FPM) a MySQL na Ubuntu 12.10), restartujte jej následovně:

/etc/init.d/php5-fpm restart

Pokud jako svého FastCGI démona používáte program spawn-fcgi lighttpd (jako v Instalace Nginx s podporou PHP5 a MySQL na Debian Squeeze), musíme zabít aktuální proces spawn-fcgi (běžící na portu 9000) a vytvořit nový. Spustit

netstat -tap

zjistit PID aktuálního spawn-fcgi procesu:

[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]:~#

Ve výše uvedeném výstupu je PID 1542, takže aktuální proces můžeme ukončit následovně:

kill -9 1542

Poté vytvoříme nový proces 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 Instalace betonu5

Kořen dokumentu mého webu www.example.com je /var/www/www.example.com/web – pokud neexistuje, vytvořte jej následovně:

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

Protože beton5 přichází jako soubor .zip, musíme nainstalovat unzip:

apt-get install unzip

Dále si stáhneme beton5 (http://www.concrete5.org/developers/downloads/) a umístíme jej do kořenového adresáře dokumentu:

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/

Doporučuje se, aby kořen dokumentu a konkrétní5 soubory v něm mohly zapisovat démonem nginx, který běží jako uživatel www-data a skupina www-data:

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

Pokud jste ještě nevytvořili databázi MySQL pro concrete5 (včetně uživatele MySQL concrete5), můžete to udělat následovně (v tomto příkladu pojmenuji databázi concrete5 a uživatel se jmenuje concrete5_admin a jeho heslo je konkrétní5_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;

Dále vytvoříme konfiguraci nginx vhost pro náš www.example.com vhost v adresáři /etc/nginx/sites-available/ následovně (upravil jsem umístění PHP ~ \.php($|/) {} podle na 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;
       }
}

Abychom povolili tento vhost, vytvoříme na něj symbolický odkaz z adresáře /etc/nginx/sites-enabled/:

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

Znovu načtěte nginx, aby se změny projevily:

/etc/init.d/nginx reload

Nyní můžeme spustit webový instalátor betonu5 tím, že přejdeme na http://www.example.com – ujistěte se, že váš systém splňuje všechny požadavky, a poté klikněte na Pokračovat k instalaci:

Dále zadejte název webu, e-mailovou adresu správce a heslo a vyplňte podrobnosti o databázi MySQL. Potom přejděte dolů:

V dolní části stránky si můžete vybrat, zda chcete nainstalovat ukázkový obsah nebo prázdnou stránku. Vyberte si a klikněte na Instalovat beton5:

beton5 se nyní instaluje:

Po úspěšné instalaci se zobrazí tato zpráva. Kliknutím na Pokračovat na váš web přejdete na úvodní stránku konkrétní5:

Když poprvé navštívíte úvodní stránku, zobrazí se překryvná vrstva Javascript, která obsahuje některé užitečné odkazy. Můžete na něj kliknout:

Takto vypadá vaše úvodní stránka (s ukázkovým obsahem). Skutečné adresy URL by měly fungovat hned po vybalení.

Toto je řídicí panel conrete5:

A takto vypadá demo stránka pro běžného návštěvníka:

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

O autorovi

Falko Timme je vlastníkem Timme Hosting (ultrarychlý webhosting nginx). Je hlavním správcem HowtoForge (od roku 2005) a jedním z hlavních vývojářů ISPConfig (od roku 2000). Přispěl také do O'Reillyho knihy "Linux System Administration".


Ubuntu
  1. Jak nainstalovat a nakonfigurovat Nginx na Ubuntu 18.04 / Debian 9

  2. Jak nainstalovat LEMP na Ubuntu 16.04

  3. Jak nainstalovat LEMP na Ubuntu 18.04

  1. Spuštění TYPO3 6.2 na Nginx (LEMP) na Debian Wheezy/Ubuntu 13.10

  2. Jak nainstalovat TYPO3 7 na Nginx (LEMP) na Ubuntu 15.10

  3. Jak nainstalovat TYPO3 8.1 s Nginx (LEMP) na Ubuntu 16.04

  1. Nginx 1.7.9 + PHP5-FPM + MySQL (LEMP) na Ubuntu 14.10

  2. Jak nainstalovat LEMP Stack na Ubuntu 20.04

  3. Nainstalujte ProjectSend na Ubuntu 20.04 s Nginx (LEMP Stack)