TikiWiki es un sistema de gestión de contenido gratuito y de código abierto escrito en lenguaje PHP. Es muy potente, tiene todas las funciones y se puede utilizar para crear sitios web, wikis, aplicaciones web, bases de conocimiento, portales, galerías de imágenes y mucho más. TikiWiki se compone de cuatro componentes principales:herramientas de creación y gestión de contenido, herramientas de comunicación y herramientas de configuración y administración, y herramientas de organización de contenido y ayudas para la navegación. Estos le permitirán crear y administrar contenido y configurar sitios. TikiWiki viene con un amplio conjunto de funciones, que incluyen foros, blogs, mapas, espacio de trabajo, presentación de diapositivas, carrito de compras, seguimiento de errores y problemas, multilingüe, galería de archivos e imágenes, eventos y muchos más.
En este tutorial, aprenderemos cómo instalar TikiWiki CMS en Debian 10.
Requisitos
- Un servidor que ejecuta Debian 10.
- Se configura una contraseña raíz para su servidor.
Cómo empezar
Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.
Instalar servidor LAMP
TikiWiki se ejecuta en el servidor web Apache/Nginx, está escrito en lenguaje PHP y usa MariaDB/MySQL para almacenar sus datos. Por lo tanto, deberá instalar Apache, MariaDB, PHP y otras extensiones requeridas en su servidor. Primero, instale el servidor Apache y MariaDB con el siguiente comando:
apt-get install apache2 mariadb-server unzip -y
De forma predeterminada, Debian 10 se envía con la versión 7.3 de PHP. Pero TikiWiki no es compatible con PHP 7.3. Por lo tanto, deberá instalar PHP 7.2 y otras extensiones requeridas.
Para agregar el repositorio SURY, primero descargue una clave GPG con el siguiente comando:
wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg
A continuación, agregue el repositorio SURY a APT con el siguiente comando:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
Luego, actualice el repositorio e instale PHP7.2 junto con todas las extensiones requeridas con los siguientes comandos:
apt-get update -y
apt-get install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip -y
Después de instalar PHP7.2, abra el archivo php.ini y modifique algunas configuraciones:
nano /etc/php/7.2/apache2/php.ini
Agregue las siguientes líneas:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Guarde y cierre el archivo cuando haya terminado. Luego, continúe con el siguiente paso.
Crear base de datos para TikiWiki
De forma predeterminada, MariaDB no está protegido. Por lo tanto, deberá asegurarlo primero. Puede asegurarlo con el siguiente script:
mysql_secure_installation
Debe responder a todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): Set root password? [Y/n]: N 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
Una vez que MariaDB esté protegido, inicie sesión en el shell de MariaDB:
mysql -u root -p
Proporcione su contraseña raíz cuando se le solicite y luego cree una base de datos y un usuario para TikiWiki con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE tikidb;
MariaDB [(none)]> CREATE USER 'tiki'@'localhost' IDENTIFIED BY 'password';
A continuación, otorga todos los privilegios a la base de datos TikiWiki con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON tikidb.* TO 'tiki'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una vez que haya terminado, puede continuar con el siguiente paso.
Descargar TikiWiki
Primero, deberá descargar la última versión de TikiWiki del sitio web de Sourceforge. Puedes descargarlo con el siguiente comando:
cd /var/www/html/
wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip
Una vez completada la descarga, descomprima el archivo descargado con el siguiente comando:
unzip tikiwiki.zip
A continuación, cambie el nombre del directorio extraído a tikiwiki con el siguiente comando:
mv tiki-20.0 tikiwiki
A continuación, otorgue los permisos adecuados al directorio tikiwiki con el siguiente comando:
chown -R www-data:www-data /var/www/html/tikiwiki/
chmod -R 755 /var/www/html/tikiwiki/
Una vez que haya terminado, puede continuar con el siguiente paso.
Configurar Apache para TikiWiki
A continuación, deberá crear un archivo de configuración de host virtual de Apache para TikiWiki. Puedes crearlo con el siguiente comando:
nano /etc/apache2/sites-available/tikiwiki.conf
Agrega el siguiente contenido:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/tikiwiki ServerName example.com <Directory /var/www/html/tikiwiki/> Options FollowSymlinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/tikiwiki_error.log CustomLog ${APACHE_LOG_DIR}/tikiwiki_access.log combined </VirtualHost>
Guarde y cierre el archivo. Luego, habilite el archivo de configuración del host virtual con el siguiente comando:
a2ensite tikiwiki.conf
Finalmente, habilite el módulo de reescritura de Apache y reinicie el servicio de Apache para volver a cargar los cambios de configuración con el siguiente comando:
a2enmod rewrite
systemctl restart apache2
Acceder a la interfaz web de TikiWiki
Ahora, abra su navegador web y escriba la URL http://example.com. Será redirigido a la página de bienvenida de TikiWiki:
Seleccione su idioma y haga clic en Continuar botón. Debería ver la siguiente página:
Acepte el acuerdo de licencia y haga clic en Continuar botón. Debería ver la siguiente página:
Confirme que su sistema cumpla con los requisitos mínimos y haga clic en Continuar botón. Debería ver la siguiente página:
Proporcione el nombre de su base de datos, el nombre de usuario y la contraseña de la base de datos. Luego, haga clic en Continuar botón. Debería ver la siguiente página:
Seleccione el motor de base de datos y haga clic en Instalar botón para iniciar la instalación. Una vez que la instalación se haya completado con éxito, debería ver la siguiente página:
Ahora, haga clic en Continuar botón, debería ver la siguiente página:
Proporcione toda la información requerida, como el título de Wiki, el correo electrónico del remitente, el inicio de sesión seguro, el correo electrónico del administrador y haga clic en Continuar. botón. Debería ver la siguiente página:
Lea toda la información y haga clic en Continuar botón. Debería ver la siguiente página:
Ahora, haga clic en "Ingrese a Tiki y bloquee el instalador ". Debería ver la siguiente página:
Ahora, configure su contraseña de administrador y haga clic en Aplicar botón. Debería ver la siguiente página:
Asegurar TikiWiki con Let's Encrypt
En esta sección, explicaremos cómo proteger su sitio TikiWiki con SSL gratuito de Let's Encrypt.
Primero, deberá instalar la herramienta Certbot para descargar e instalar SSL gratuito de Let's Encrypt para su sitio web. De forma predeterminada, la última versión de Certbot no está disponible en el repositorio predeterminado de Debian 10. Por lo tanto, deberá agregar el repositorio de Certbot a su sistema.
Puede agregar el repositorio de Certbot con el siguiente comando:
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
A continuación, actualice el repositorio e instale Certbot con el siguiente comando:
apt-get update -y
apt-get install certbot python-certbot-apache -y
Una vez instalado, cree un archivo conocido.conf para que Let's Encrypt valide su dominio.
Primero, cree un directorio .bien conocido y otorgue los permisos adecuados:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
A continuación, cree un archivo conocido.conf con el siguiente comando:
nano /etc/apache2/conf-available/well-known.conf
Agregue las siguientes líneas:
Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" <Directory "/var/lib/letsencrypt/"> AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS </Directory>
Guarde y cierre el archivo. Luego, habilite los módulos requeridos con el siguiente comando:
a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known
A continuación, reinicie el servicio Apache para aplicar todos los cambios de configuración:
systemctl restart apache2
Ahora, comencemos a instalar el certificado SSL gratuito para su dominio ejemplo.com con el siguiente comando:
certbot --apache -d example.com
Primero, deberá proporcionar una dirección de correo electrónico válida y aceptar los términos de servicio como se muestra a continuación:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/example.com-le-ssl.conf Deploying Certificate to VirtualHost /etc/apache2/sites-available/example.com-le-ssl.conf Enabling available site: /etc/apache2/sites-available/example.com-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
A continuación, elija la opción 2 para descargar e instalar un certificado SSL gratuito para su dominio. Una vez que la instalación se haya completado con éxito. Deberías obtener el siguiente resultado:
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/example.com.conf to ssl vhost in /etc/apache2/sites-available/ example.com-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2019-10-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Eso es todo. Ahora, abra su navegador web y acceda a su TikiWiki CMS utilizando la URL https://example.com. Debe asegurarse de que su sitio TikiWiki esté debidamente protegido con un certificado SSL gratuito.