osTicket es un sistema de emisión de boletos de código abierto basado en PHP para la plataforma Linux. Puede interactuar con LDAP/Active Directory para la autenticación central y es compatible con varias bases de datos como MySQL y PostgreSQL. Es una aplicación web sencilla y ligera. Puede administrar, organizar y archivar sus solicitudes de soporte con OsTicket. Integra las solicitudes de atención al cliente recibidas por correo electrónico, formularios web y llamadas telefónicas en una plataforma basada en web simple, fácil de usar y multiusuario.
Aquí en LinuxAPT, veremos cómo instalar osTicket en Ubuntu 20.04, usando MariaDB como servidor de base de datos y PHP.
Pasos para instalar osTicket de código abierto en Ubuntu
1. Realice la actualización del sistema
Comience actualizando el sistema con los últimos paquetes de lanzamiento mediante el comando dado:
$ sudo apt-get update
2. Instale todo PHP y extensiones
La aplicación osTicket necesita las extensiones php para ejecutar la aplicación. Aquí se proporcionan e instalan todas las extensiones necesarias:
$ sudo apt install -y php-common php-fpm php-pear php-cgi php-net-socket php-bcmath php-gd php-imap php-intl php-apcu php-cli php-mbstring php-curl php-mysql php-json php-xml
Puede verificar la versión de php y todas las extensiones de php con el siguiente comando:
$ php -v
3. Instale el servidor Apache
El servidor web Apache está instalado para el repositorio oficial de apt:
$ sudo apt install apache2
Para iniciar y habilitar el servidor apache manualmente, aquí están los comandos que se enumeran a continuación. (El servicio se inicia en el arranque de forma predeterminada):
$ sudo systemctl start apache2
$ sudo systemctl enable apache2
Para verificar el estado del servidor apache para verificar si se está ejecutando o está detenido:
$ sudo systemctl status apache2
4. Instale la base de datos MariaDB y configure
Se necesita un servidor de base de datos MariaDB con un nombre de usuario, una contraseña y un nombre de host válidos durante el proceso de instalación. El usuario debe tener todos los privilegios en la base de datos creada.
Aquí, el comando se usa para instalar el servidor MariaDB:
$ sudo apt install mariadb-server
Para proteger el servidor MariaDB, aquí se deben realizar los siguientes pasos:
$ sudo mysql_secure_installation
Después de ingresar la contraseña para root, se hacen algunas preguntas antes de asegurar el servidor. Necesitamos aplicar sí para todas las preguntas dadas como:
- Set root password? [Y/n] y
- 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
Aquí, el complemento de autenticación se cambia para poder iniciar sesión como usuario normal:
$ sudo mysql -u root
MariaDB [(none)]> UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE User = 'root';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> QUIT;
La confirmación de que la base de datos funciona con el siguiente comando:
$ mysql -u root -p
Aquí se crea una base de datos para la aplicación osTicket:
MariaDB [(none)]> CREATE DATABASE osTicket_database;
Después de completar la creación de la base de datos, necesitamos crear un usuario osTicket_user para conectar la base de datos y otorgar privilegios. Las siguientes consultas son para crear un usuario y conectarlo a la base de datos con todos los privilegios otorgados:
MariaDB [(none)]> CREATE USER ‘osTicket_user’@‘localhost’ IDENTIFIED BY ‘password’;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON osTicket_database.* TO osTicket_user@localhost IDENTIFIED BY “password”;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> QUIT;
5. Crear directorio para osTicket
Se crea el directorio para la aplicación osTicket dando la ruta donde se está creando el directorio:
$ sudo mkdir -p /var/www/os_ticket
La propiedad del directorio se cambia al usuario de Linux para realizar más modificaciones fácilmente sin problemas de permisos:
$ sudo chown -R $USER:$USER /var/www/os_ticket
Ahora, acceda al directorio os_ticket con el comando cd y extraiga el último archivo de instalación de osTicket de GitHub con el comando wget:
$ cd /var/www/os_ticket
$ wget https://github.com/osTicket/osTicket/releases/download/v1.15.2/osTicket-v1.15.2.zip
Extraiga el archivo de descarga usando el comando descomprimir:
$ unzip osTicket-v1.15.2.zip
(Aquí, la versión debe ser dada de acuerdo al archivo que ha descargado.)
Después de extraer el archivo comprimido, puede eliminar el archivo zip:
$ rm osTicket-v1.15.2.zip
osTicket tiene su propio archivo de configuración de muestra por defecto. Necesitamos copiar el archivo en los mismos directorios y cambiar sus nombres:
$ sudo cp upload/include/ost-sampleconfig.php upload/include/ost-config.php
El comando chown se usa para asignar el propietario al usuario del servidor apache. El comando www-data y chmod se usa para los permisos apropiados requeridos:
$ sudo chown -R www-data:www-data /var/www/os_ticket
$ sudo chmod -R 755 /var/www/os_ticket
6. Cree un archivo de host virtual
Se debe crear un archivo de configuración en la ruta /etc/apache2/directorio de sitios disponibles para ejecutar osTicket con el servidor apache.
Aquí, el comando a2dissite se usa para deshabilitar el archivo de configuración predeterminado de Apache (en nuestro caso, ya está deshabilitado).
$ sudo a2dissite 000-default.conf
El comando vim se usa para abrir el archivo de configuración para editar la información:
$ sudo vim /etc/apache2/sites-enabled/os_ticket.conf
Toda la información se proporciona a continuación con los permisos y directorios necesarios. El nombre del servidor y el alias del servidor deben reemplazarse con su nombre de dominio y dirección IP pública:
<VirtualHost *:80>
ServerName 192.168.120.129 #localhost
ServerAlias www.osticket.com #Your domain name
DocumentRoot "/var/www/os_ticket/upload"
<Directory "/var/www/os_ticket/upload">
Require all granted
Options Indexes FollowSymLinks
AllowOverride All
Order allow, deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Una vez que el archivo de configuración está hecho y guardado, se usa el comando a2ensite para habilitar el archivo de configuración (en mi caso, ya está habilitado):
$ sudo a2ensite os_ticket.conf
Finalmente, reinicie el servicio de apache para recargar el nuevo archivo de configuración:
$ sudo systemctl restart apache2
El cortafuegos está activado de forma predeterminada, por lo que, para acceder al sitio, puede desactivar el cortafuegos con el siguiente comando o puede asignar el puerto designado para el sitio:
$ ufw disable
7. Instalar Osticket en el sistema
- Después de que finalice el proceso de instalación, abra la aplicación Firefox y visite el sitio usando el nombre del servidor.
- Ahora, se abre la siguiente página.
- Haga clic en continuar para pasar a la página siguiente.
- Ahora, ingrese todas las credenciales proporcionadas y complete el formulario. Aquí, debe proporcionar toda la información según el requisito.
- La base de datos creada anteriormente en el sistema debe escribirse en el formulario de instalación básica de osTicket.
- La página de confirmación se abre después de completar el formulario con las credenciales correctas.
- A continuación, verá el panel del administrador.
8. Configurar el Certificado HTTPS / SSL para Osticket
Deberíamos habilitar una conexión HTTPS segura en PrestaShop. Podemos obtener un certificado TLS gratuito de Let’s Encrypt. Instale el cliente Let's Encrypt (Certbot) desde el repositorio de Ubuntu 20.04:
$ sudo apt install certbot python3-certbot-apache
A continuación, ejecute el siguiente comando para obtener un certificado TLS gratuito mediante el complemento de Apache:
$ sudo certbot --apache --agree-tos --redirect --staple-ocsp --email [email protected] -d example.com
Si la prueba es exitosa, vuelva a cargar Apache para que el cambio surta efecto:
$ sudo apache2ctl -t
$ sudo systemctl reload apache2
¿Cómo acceder a la interfaz web de osTicket?
osTicket estará disponible en el puerto HTTP 80 de forma predeterminada. Abra su navegador favorito y vaya a https://su-dominio.com o https://dirección-ip-del-servidor.