GNU/Linux >> Tutoriales Linux >  >> Cent OS

Instalar CachetHQ en CentOS 7

En este tutorial, explicaremos cómo instalar CachetHQ en un VPS CentOS 7.1 con MariaDB, PHP-FPM 5.6 y Nginx. CachetHQ es un sistema de página de estado de código abierto construido sobre Laravel 5. Esta guía también debería funcionar en otros sistemas Linux VPS, pero fue probada y escrita para CentOS 7 VPS.

1. Inicie sesión en su VPS a través de SSH

ssh user@myVPS

2. Actualice el sistema e instale los paquetes necesarios

[user]$ sudo yum -y upgrade
[user]$ sudo yum install git curl

3. Instalar MariaDB

MariaDB 5.5 se envía en el repositorio predeterminado de CentOS 7, para instalarlo simplemente ejecute:

[user]$ sudo yum install mariadb-server

Para iniciar el servicio MariaDB y permitir que se inicie en el arranque, ejecute los siguientes comandos:

[user]$ sudo systemctl start mariadb.service
[user]$ sudo systemctl enable mariadb.service

Ejecute el siguiente comando para asegurar su instalación:

[user]$ sudo mysql_secure_installation

A continuación, debemos crear una base de datos para nuestra instancia de CachetHQ.

[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. Instalar PHP y Nginx

Nginx no está disponible en el repositorio predeterminado de CentOS 7, por lo que utilizaremos el repositorio oficial de Nginx:

[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

Habilitar el repositorio EPEL:

[user]$ sudo yum install epel-release

CentOS 7 viene con PHP versión 5.4, para poder instalar la última versión de PHP, versión 5.6 habilitaremos el repositorio Webtatic:

[user]$ sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Instale PHP 5.6 y todas las extensiones necesarias:

[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. Instalar compositor

Composer es un administrador de dependencias para PHP con el que puedes instalar paquetes. Composer extraerá todas las bibliotecas y dependencias requeridas que necesita para su proyecto.

[user]$ curl -sS https://getcomposer.org/installer | php
[user]$ sudo mv composer.phar /usr/local/bin/composer

6. Instale Node Gulp y Bower

Necesitamos a Gulp y Bower para construir los activos.

[user]$ sudo yum install -y nodejs npm
[user]$ sudo npm install -g bower
[user]$ sudo npm install -g gulp

7. Instalar CachetHQ

Cree un directorio raíz para su aplicación.

[user]$ mkdir -p ~/CachetHQ

Clona el repositorio del proyecto desde GitHub:

[user]$ git clone https://github.com/cachethq/Cachet.git ~/CachetHQ
[user]$ cd  ~/CachetHQ

Instalar todas las dependencias:

[user]$ composer install --no-dev -o

Copie el archivo .env.example a .env

[user]$ cp .env.example .env

generar y configurar la clave de la aplicación:

[user]$ php artisan key:generate

y edite los valores apropiados:

[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

Ejecute migraciones de base de datos y genere la base de datos con datos de muestra:

[user]$ php artisan migrate
[user]$ php artisan db:seed

Crear activos:

[user]$ npm install
[user]$ bower install
[user]$ gulp       

8. Configurar Nginx y PHP

Cree un nuevo grupo de PHP-FPM para su usuario:

[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 = /  

No olvides cambiar your_user con tu nombre de usuario.

Reiniciar PHP-FPM

[user]$ sudo systemctl restart php-fpm.service

Generar certificado SSL:

[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

A continuación, cree un nuevo bloque de servidor Nginx:

[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;
}

No olvides cambiar your_user con tu nombre de usuario.

Finalmente, reinicie nginx:

[user]$ sudo systemctl restart nginx.service

Eso es todo. Ha instalado con éxito CachetHQ en su Centos 7 VPS. Si no ha cambiado el usuario y la contraseña predeterminados antes de la inicialización, puede iniciar sesión con '[email protected]' y 'test123'.

Para obtener más información sobre CachetHQ, consulte el sitio web de CachetHQ.

Por supuesto, no tiene que hacer nada de esto si utiliza uno de nuestros servicios de alojamiento CentOS VPS, en cuyo caso simplemente puede pedirle a nuestros administradores expertos de Linux que lo configuren por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.

PD . Si te gustó esta publicación, compártela con tus amigos en las redes sociales usando los botones de la izquierda o simplemente deja una respuesta a continuación. Gracias.


Cent OS
  1. Cómo instalar Vagrant en CentOS 7

  2. Cómo instalar Gitea en CentOS 8

  3. Cómo instalar ownCloud en CentOS 8

  4. Instalar Jenkins en CentOS 8

  5. Cómo instalar CachetHQ en Ubuntu 16.04

Cómo instalar PHP en CentOS 8

Cómo instalar Apache en CentOS 8

Cómo instalar Jenkins en CentOS 8

Instale Odoo 13 en CentOS 8

Cómo instalar Zoom en CentOS 8

Cómo instalar Nethogs en CentOS