GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Ausführen von concrete5 Auf Nginx (LEMP) Auf Debian Squeeze/Ubuntu 12.10

Dieses Tutorial zeigt, wie Sie eine concrete5-Website auf einem Debian Squeeze- oder Ubuntu 12.10-System installieren und ausführen können, auf dem nginx anstelle von Apache installiert ist (LEMP =L inux + nginx (ausgesprochen "e Motor x") + M ySQL + P PS). nginx ist ein HTTP-Server, der viel weniger Ressourcen verbraucht als Apache und Seiten viel schneller liefert, insbesondere statische Dateien. concrete5 ist ein kostenloses und Open-Source-Content-Management-System (CMS).

Ich gebe keine Garantie dafür, dass dies bei Ihnen funktioniert!

1 Vorbemerkung

Ich möchte concrete5 in einem vhost namens www.example.com/example.com hier mit dem Document Root /var/www/www.example.com/web.

installieren

Sie sollten eine funktionierende LEMP-Installation haben, wie in diesen Tutorials gezeigt:

  • Installieren von Nginx mit PHP5- und MySQL-Unterstützung auf Debian Squeeze
  • Installieren von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung auf Ubuntu 12.10

Ein Hinweis für Ubuntu-Benutzer:

Da wir alle Schritte aus diesem Tutorial mit Root-Rechten ausführen müssen, können wir entweder allen Befehlen in diesem Tutorial die Zeichenfolge sudo voranstellen oder wir werden sofort root, indem wir

eingeben
sudo su

2 Installation von APC

APC ist ein kostenloser und offener PHP-Opcode-Cacher zum Caching und Optimieren von PHP-Zwischencode. Es ähnelt anderen PHP-Opcode-Cachern wie eAccelerator und XCache. Es wird dringend empfohlen, eines davon zu installieren, um Ihre PHP-Seite zu beschleunigen.

APC kann wie folgt installiert werden:

apt-get install php-apc

Wenn Sie PHP-FPM als FastCGI-Daemon verwenden (wie in Installieren von Nginx mit PHP5 (und PHP-FPM) und MySQL-Unterstützung unter Ubuntu 12.10), starten Sie es wie folgt neu:

/etc/init.d/php5-fpm restart

Wenn Sie das spawn-fcgi-Programm von lighttpd als Ihren FastCGI-Daemon verwenden (wie in Installieren von Nginx mit PHP5 und MySQL-Unterstützung auf Debian Squeeze), müssen wir den aktuellen spawn-fcgi-Prozess (der auf Port 9000 läuft) beenden und einen neuen erstellen. Ausführen

netstat -tap

um die PID des aktuellen spawn-fcgi-Prozesses herauszufinden:

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

In der obigen Ausgabe ist die PID 1542, sodass wir den aktuellen Prozess wie folgt beenden können:

kill -9 1542

Danach erstellen wir einen neuen spawn-fcgi-Prozess:

/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 Einbau von Beton5

Das Dokumenten-Stammverzeichnis meiner www.example.com-Website ist /var/www/www.example.com/web - falls es nicht existiert, erstellen Sie es wie folgt:

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

Da concrete5 als .zip-Datei geliefert wird, müssen wir unzip installieren:

apt-get install unzip

Als nächstes laden wir concrete5 (http://www.concrete5.org/developers/downloads/) herunter und platzieren es in unserem Document Root:

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/

Es wird empfohlen, das Dokumentenstammverzeichnis und die enthaltenen concrete5-Dateien für den nginx-Daemon beschreibbar zu machen, der als Benutzer www-data und Gruppe www-data:

ausgeführt wird
chown -R www-data:www-data /var/www/www.example.com/web

Wenn Sie noch keine MySQL-Datenbank für concrete5 erstellt haben (einschließlich eines MySQL-Concrete5-Benutzers), können Sie dies wie folgt tun (in diesem Beispiel nenne ich die Datenbank concrete5, und der Benutzer heißt concrete5_admin und sein Passwort ist 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;

Als nächstes erstellen wir eine nginx-vhost-Konfiguration für unseren www.example.com-vhost im Verzeichnis /etc/nginx/sites-available/ wie folgt (ich habe den PHP-Speicherort ~ \.php($|/) {} entsprechend angepasst zu 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;
       }
}

Um diesen vhost zu aktivieren, erstellen wir einen symbolischen Link zu ihm aus dem Verzeichnis /etc/nginx/sites-enabled/:

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

Laden Sie nginx neu, damit die Änderungen wirksam werden:

/etc/init.d/nginx reload

Jetzt können wir den webbasierten concrete5-Installer starten, indem wir auf http://www.example.com gehen – stellen Sie sicher, dass Ihr System alle Anforderungen erfüllt und klicken Sie anschließend auf Continue to Installation:

Geben Sie als Nächstes einen Site-Namen, eine Administrator-E-Mail-Adresse und ein Passwort an und füllen Sie die MySQL-Datenbankdetails aus. Scrollen Sie dann nach unten:

Unten auf der Seite können Sie auswählen, ob Sie Demo-Inhalte oder eine leere Website installieren möchten. Treffen Sie Ihre Wahl und klicken Sie auf Beton5 installieren:

concrete5 wird jetzt installiert:

Nach erfolgreicher Installation sehen Sie diese Meldung. Klicken Sie auf Weiter zu Ihrer Site, um zu Ihrer concrete5-Startseite zu gelangen:

Wenn Sie die Startseite zum ersten Mal besuchen, gibt es ein Javascript-Overlay, das einige hilfreiche Links enthält. Sie können es wegklicken:

So sieht Ihre Startseite aus (mit Demo-Inhalt). Echte URLs sollten sofort funktionieren.

Dies ist das Dashboard von conrete5:

Und so sieht die Demoseite für einen normalen Besucher aus:

  • 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/

Über den Autor

Falko Timme ist Der Besitzer von Timme Hosting (ultraschnelles Nginx-Webhosting). Er ist der Hauptbetreuer von HowtoForge (seit 2005) und einer der Kernentwickler von ISPConfig (seit 2000). Er hat auch zum O'Reilly-Buch "Linux System Administration" beigetragen.


Ubuntu
  1. So installieren und konfigurieren Sie Nginx unter Ubuntu 18.04 / Debian 9

  2. Ausführen von TYPO3 6.2 auf Nginx (LEMP) auf Debian Wheezy/Ubuntu 13.10

  3. So installieren Sie TYPO3 7 auf Nginx (LEMP) auf Ubuntu 15.10

  4. So installieren Sie LEMP unter Ubuntu 16.04

  5. So installieren Sie LEMP auf Ubuntu 18.04

So installieren Sie den LEMP-Stack auf Ubuntu 20.04 Server/Desktop

So installieren Sie Nginx, MySQL und PHP (LEMP) unter Ubuntu 20.04

So installieren Sie LEMP unter Ubuntu 15.10

So installieren Sie LEMP auf Ubuntu 16.04

So installieren Sie LEMP auf Ubuntu 18.04 LTS

So installieren Sie LEMP auf Ubuntu 20.04 LTS