Cómo instalar osTicket con Nginx en Ubuntu 18.04 LTS
osTicket es un sistema de tickets de código abierto en la plataforma Linux escrito en PHP. Soporta diferentes tipos de bases de datos como MySQL, PostgreSQL y puede integrarse con LDAP/Directorio activo para la autenticación central.
Es una aplicación sencilla y ligera basada en la web. OsTicket te permite gestionar, organizar y archivar tus solicitudes de soporte. Dirige sin problemas las consultas creadas a través del correo electrónico, los formularios web y las llamadas telefónicas a una plataforma de atención al cliente sencilla, fácil de usar y basada en la web.
En este tutorial, te mostraré cómo instalar osTicket en Ubuntu 18.04, utilizando Nginx como servidor web, MySQL/MariaDB como servidor de bases de datos y PHP.
Requisitos previos
- Ubuntu 18.04
- Un usuario sudo con privilegios de root.
Paso 1: Cómo empezar
En primer lugar, accede a tu servidor con privilegios de sudo y actualiza el sistema con la última versión estable mediante el siguiente comando:
sudo apt update && sudo apt upgrade -y
Paso 2: Instalar el servidor LEMP
OsTicket requiere que el servidor web, el PHP y el servidor de base de datos estén instalados en tu servidor.
Instalar el servidor web Nginx
Puedes instalar el servidor web Nginx con el siguiente comando:
sudo apt install nginx -y
Ahora vamos a comprobar el servicio Nginx y Para iniciar el servicio manualmente, ejecuta los siguientes comandos:
sudo systemctl status nginx
sudo systemctl start nginx
Ahora activa el servicio nginx para que se inicie en el momento del arranque ejecutando el siguiente comando:
sudo systemctl enable nginx
Instalar PHP y PHP-FPM
A continuación, tienes que instalar PHP, PHP-FPM y algunos módulos PHP adicionales que son necesarios para que OsTicket funcione correctamente:
sudo apt install php php-mysql php-cgi php-fpm php-cli php-curl php-gd php-imap php-mbstring php-xml-util php-intl php-apcu php-common php-gettext php-bcmath
El comando anterior instalará php-7.2
Ahora edita el archivo php.ini ejecutando el siguiente comando en el terminal.
sudo vim /etc/php/7.2/fpm/php.ini
Descomenta la variable cgi.fix_pathinfo y cambia su valor a 0
cgi.fix_pathinfo=0
Ahora guarda y cierra el archivo.
A continuación, reinicia el servicio php7.2-fpm y habilítalo al inicio con el siguiente comando:
sudo systemctl restart php7.2-fpm
sudo systemctl enable php7.2-fpm
Instalar y configurar el servidor de base de datos MySQL para OsTicket
Desde tu ventana de terminal, emite el siguiente comando para instalar el servidor de bases de datos MySQL.
sudo apt install mysql-server
Ahora inicia el servicio MySQL y habilítalo para que se inicie al arrancar y luego comprueba el estado del servicio MySQL con el siguiente comando
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql
A continuación, asegura la instalación de MySQL con el siguiente comando:
sudo mysql_secure_installation
Responde a todas las preguntas como se indica a continuación:
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
A continuación, inicia sesión en la consola de MySQL como se muestra a continuación:
sudo mysql -u root -p
Introduce aquí tu contraseña de root.
Ahora tienes que crear la base de datos para osTicket
run following command
mysql> create database osticket_db;
mysql> grant all privileges on osticket_db.* to osticket_user identified by 'OsTicketPassw0rd@19';
mysql> flush privileges;
Se ha creado una base de datos para osTicket.
Paso 3: Descargar y configurar osTicket
Crea un nuevo directorio para osTicket y ve a ese directorio.
sudo mkdir -p /var/www/osticket/
cd /var/www/osticket/
A continuación, descarga la última configuración de osTicket usando wget y extráela usando el siguiente comando
sudo apt-get install wget unzip
sudo wget https://github.com/osTicket/osTicket/releases/download/v1.14.1/osTicket-v1.14.1.zip
sudo unzip osTicket-v1.14.1.zip
Obtendrás los scripts y el directorio de carga después de la extracción.
A continuación, crea un archivo de configuración de osTicket a partir del archivo ost-sampleconfig.php utilizando el siguiente comando:
sudo su -
cd upload/
cp ost-sampleconfig.php ost-config.php
A continuación, tienes que cambiar la propiedad del directorio web de osTicket al usuario y grupo ‘www-data’.
sudo chown -R www-data:www-data /var/www/osticket/
Paso 4 – Crear el host virtual de OsTicket
Ahora crea una nueva configuración de host virtual para OsTicket ejecutando el siguiente comando:
sudo vim /etc/nginx/sites-available/osticket.conf
Pega la configuración como se indica a continuación:
server {
listen 80;
server_name 13.52.217.10; ## change server_name as per your domain name.
root /var/www/osticket/upload;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.php index.html index.htm;
# Enable gzip
gzip on;
gzip_min_length 1000;
gzip_types text/plain application/x-javascript text/xml text/css application/xml;
set $path_info "";
location ~ /include {
deny all;
return 403;
}
if ($request_uri ~ "^/api(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/api/(?:tickets|tasks).*$ {
try_files $uri $uri/ /api/http.php?$query_string;
}
if ($request_uri ~ "^/scp/.*\.php(/[^\?]+)") {
set $path_info $1;
}
location ~ ^/scp/ajax.php/.*$ {
try_files $uri $uri/ /scp/ajax.php?$query_string;
}
location / {
try_files $uri $uri/ index.php;
}
location ~ \.php$ {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
}
}
Aquí, tienes que cambiar server_name 13.52.217.10 según tu nombre de dominio.
Guarda el archivo de configuración de Nginx y sal.
Ahora activa el host virtual y prueba la configuración.
ln -s /etc/nginx/sites-available/osticket.conf /etc/nginx/sites-enabled/
nginx -t
El resultado será el siguiente
Ahora reinicia el servicio nginx
sudo systemctl restart nginx
Paso 5: Instalar y configurar osTicket
Ahora vamos a introducir tu nombre de dominio para obtener la interfaz de usuario de osTicket en cualquier navegador web, verás una página como la siguiente:
A continuación, haz clic en«Continuar» y serás redirigido a la sección de configuración de osTicket.
Rellena toda la información requerida y haz clic en el botón «Instalar ahora».
En la configuración de la base de datos, introduce detalles como el nombre de la base de datos, el nombre de usuario y la contraseña que has creado durante la configuración de mysql.
Por último, haz clic en el botón «Instalar ahora», cuando la instalación se haya completado, se mostrará una captura de pantalla como la que se muestra a continuación:
A continuación, cambia el permiso de ost-config.php para eliminar el acceso de escritura ejecutando el siguiente comando:
cd /var/www/osticket/upload/
chmod 0644 include/ost-config.php
Para osTicket admin escribe tu IP/nombre de dominio en el navegador web:
Para el inicio de sesión del administrador/panel del agente/configuración del panel del administrador escribe lo siguiente.
- Inicio de sesión de administrador de osTicket – http://yourdomainname/scp/
- Panel del agente de osTicket – http://yourdomainname/scp/index.php
- Configuración del panel de administración de osTicket – http://yourdomainname/scp/settings.php
Finalmente, has instalado con éxito osTicket en el servidor Ubuntu 18.04.