In diesem Tutorial erklären wir, wie man CachetHQ auf einem CentOS 7.1 VPS mit MariaDB, PHP-FPM 5.6 und Nginx installiert. CachetHQ ist ein Open-Source-Statusseitensystem, das auf Laravel 5 aufbaut. Dieses Handbuch sollte auch auf anderen Linux-VPS-Systemen funktionieren, wurde jedoch für CentOS 7 VPS getestet und geschrieben.
1. Melden Sie sich über SSH bei Ihrem VPS an
ssh user@myVPS
2. Aktualisieren Sie das System und installieren Sie die erforderlichen Pakete
[user]$ sudo yum -y upgrade [user]$ sudo yum install git curl
3. Installieren Sie MariaDB
MariaDB 5.5 wird im Standard-Repository von CentOS 7 ausgeliefert, um es zu installieren, führen Sie einfach Folgendes aus:
[user]$ sudo yum install mariadb-server
Führen Sie die folgenden Befehle aus, um den MariaDB-Dienst zu starten und beim Booten zu aktivieren:
[user]$ sudo systemctl start mariadb.service [user]$ sudo systemctl enable mariadb.service
Führen Sie den folgenden Befehl aus, um Ihre Installation zu sichern:
[user]$ sudo mysql_secure_installation
Als nächstes müssen wir eine Datenbank für unsere CachetHQ-Instanz erstellen.
[user]$ mysql -uroot -p MariaDB [(none)]> CREATE DATABASE cachet; MariaDB [(none)]> GRANT ALL PRIVILEGES ON cachet.* TO 'cachetuser'@'localhost' IDENTIFIED BY 'cachetuser_passwd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
4. Installieren Sie PHP und Nginx
Nginx ist im standardmäßigen CentOS 7-Repository nicht verfügbar, daher verwenden wir das offizielle Nginx-Repository:
[user]$ sudo rpm -UVh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm [user]$ sudo yum -y install nginx
Aktivieren Sie das EPEL-Repository:
[user]$ sudo yum install epel-release
CentOS 7 wird mit PHP-Version 5.4 ausgeliefert, um die neueste Version von PHP, Version 5.6, installieren zu können, aktivieren wir das Webtatic-Repository:
[user]$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Installieren Sie PHP 5.6 und alle notwendigen Erweiterungen:
[user]$ sudo yum install php56w-cli php56w-process php56w-mcrypt php56w-mbstring php56w-common php56w-fpm php56w-xml php56w-opcache php56w-pecl-apcu php56w-pdo php56w-mysqlnd
5. Composer installieren
Composer ist ein Abhängigkeitsmanager für PHP, mit dem Sie Pakete installieren können. Composer zieht alle erforderlichen Bibliotheken und Abhängigkeiten ein, die Sie für Ihr Projekt benötigen.
[user]$ curl -sS https://getcomposer.org/installer | php [user]$ sudo mv composer.phar /usr/local/bin/composer
6. Installieren Sie Node Gulp und Bower
Wir brauchen Gulp und Bower, um die Vermögenswerte aufzubauen.
[user]$ sudo yum install -y nodejs npm [user]$ sudo npm install -g bower [user]$ sudo npm install -g gulp
7. Installieren Sie CachetHQ
Erstellen Sie ein Stammverzeichnis für Ihre Anwendung.
[user]$ mkdir -p ~/CachetHQ
Klonen Sie das Projekt-Repository von GitHub:
[user]$ git clone https://github.com/cachethq/Cachet.git ~/CachetHQ [user]$ cd ~/CachetHQ
Alle Abhängigkeiten installieren:
[user]$ composer install --no-dev -o
Kopieren Sie die .env.example-Datei nach .env
[user]$ cp .env.example .env
Generieren und setzen Sie den Anwendungsschlüssel:
[user]$ php artisan key:generate
und bearbeiten Sie die entsprechenden Werte:
[user]$ vim .env
APP_ENV=production APP_DEBUG=false APP_URL=http://localhost APP_KEY=SomeRandomString DB_DRIVER=mysql DB_HOST=localhost DB_DATABASE=cachet DB_USERNAME=cachetuser DB_PASSWORD=cachetuser_passwd CACHE_DRIVER=apc SESSION_DRIVER=file QUEUE_DRIVER=sync MAIL_DRIVER=smtp MAIL_HOST=mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null
Führen Sie Datenbankmigrationen durch und füllen Sie die Datenbank mit Beispieldaten:
[user]$ php artisan migrate [user]$ php artisan db:seed
Assets aufbauen:
[user]$ npm install [user]$ bower install [user]$ gulp
8. Nginx und PHP konfigurieren
Erstellen Sie einen neuen PHP-FPM-Pool für Ihren Benutzer:
[user]$ sudo vim /etc/php-fpm.d/your_user.conf
[your_user] user = your_user group = your_user listen = /var/run/php-fpm/your_user.sock listen.owner = your_user listen.group = your_user listen.mode = 0666 pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 10s; pm.max_requests = 200 chdir = /
Vergessen Sie nicht, your_user durch Ihren Benutzernamen zu ersetzen.
Starten Sie PHP-FPM neu
[user]$ sudo systemctl restart php-fpm.service
SSL-Zertifikat generieren:
[user]$ sudo mkdir -p /etc/nginx/ssl [user]$ cd /etc/nginx/ssl [user]$ sudo openssl genrsa -des3 -passout pass:x -out cachet.pass.key 2048 [user]$ sudo openssl rsa -passin pass:x -in cachet.pass.key -out cachet.key [user]$ sudo rm cachet.pass.key [user]$ sudo openssl req -new -key cachet.key -out cachet.csr [user]$ sudo openssl x509 -req -days 365 -in cachet.csr -signkey cachet.key -out cachet.crt
Erstellen Sie als Nächstes einen neuen Nginx-Serverblock:
[user]$ sudo vim /etc/nginx/sites-available/CachetHQ.conf
server { listen 443 default; server_name CachetHQ; ssl on; ssl_certificate /etc/nginx/ssl/cachet.crt; ssl_certificate_key /etc/nginx/ssl/cachet.key; ssl_session_timeout 5m; ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL'; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; root /home/your_user/CachetHQ/public; index index.html index.htm index.php; charset utf-8; location / { try_files $uri $uri/ /index.php?$query_string; } location = /favicon.ico { access_log off; log_not_found off; } location = /robots.txt { access_log off; log_not_found off; } access_log /var/log/nginx/cachet.access.log; error_log /var/log/nginx/cachet.error.log; sendfile off; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php-fpm/your_user.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } location ~ /\.ht { deny all; } } server { listen 80; server_name CachetHQ; add_header Strict-Transport-Security max-age=2592000; rewrite ^ https://$server_name$request_uri? permanent; }
Vergessen Sie nicht, your_user durch Ihren Benutzernamen zu ersetzen.
Starten Sie abschließend nginx neu:
[user]$ sudo systemctl restart nginx.service
Das ist es. Sie haben CachetHQ erfolgreich auf Ihrem Centos 7 VPS installiert. Wenn Sie den Standardbenutzer und das Passwort vor dem Seeding nicht geändert haben, können Sie sich mit „[email protected]“ und „test123“ anmelden.
Weitere Informationen zu CachetHQ finden Sie auf der CachetHQ-Website.
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer CentOS VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, dies für Sie einzurichten. Sie sind 24×7 erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS . Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.