TikiWiki è un sistema di gestione dei contenuti gratuito e open source scritto in linguaggio PHP. È molto potente, completo e può essere utilizzato per creare siti Web, wiki, applicazioni Web, knowledge base, portali, gallerie di immagini e molti altri. TikiWiki è composto da quattro componenti principali:strumenti di creazione e gestione dei contenuti, strumenti di comunicazione e strumenti di configurazione e amministrazione, nonché strumenti di organizzazione dei contenuti e ausili alla navigazione. Questi ti permetteranno di creare e gestire il contenuto e configurare i siti. TikiWiki viene fornito con un ricco set di funzionalità, tra cui Forum, Blog, Mappe, Area di lavoro, Presentazione, Carrello della spesa, Rilevatore di bug e problemi, Multilingue, Galleria di file e immagini, Eventi e molto altro.
In questo tutorial impareremo come installare TikiWiki CMS su Debian 10.
Requisiti
- Un server che esegue Debian 10.
- È stata impostata una password di root per il tuo server.
Per iniziare
Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:
apt-get update -y
apt-get upgrade -y
Una volta aggiornato il server, riavvia il server per applicare le modifiche.
Installa il server LAMP
TikiWiki gira su server web Apache/Nginx, scritto in linguaggio PHP e usa MariaDB/MySQL per memorizzare i suoi dati. Quindi dovrai installare Apache, MariaDB, PHP e altre estensioni richieste sul tuo server. Innanzitutto, installa il server Apache e MariaDB con il seguente comando:
apt-get install apache2 mariadb-server unzip -y
Per impostazione predefinita, Debian 10 viene fornito con la versione PHP 7.3. Ma TikiWiki non supporta PHP 7.3. Quindi, dovrai installare PHP 7.2 e altre estensioni richieste.
Per aggiungere il repository SURY, prima scarica e la chiave GPG con il seguente comando:
wget https://packages.sury.org/php/apt.gpg
apt-key add apt.gpg
Quindi, aggiungi il repository SURY ad APT con il seguente comando:
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
Quindi, aggiorna il repository e installa PHP7.2 insieme a tutte le estensioni richieste con i seguenti comandi:
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
Dopo aver installato PHP7.2, apri il file php.ini e modifica alcune impostazioni:
nano /etc/php/7.2/apache2/php.ini
Aggiungi le seguenti righe:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = Asia/Kolkata
Salva e chiudi il file quando hai finito. Quindi, vai al passaggio successivo.
Crea database per TikiWiki
Per impostazione predefinita, MariaDB non è protetta. Quindi, dovrai prima proteggerlo. Puoi proteggerlo con il seguente script:
mysql_secure_installation
Dovresti rispondere a tutte le domande come mostrato di seguito:
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 volta che MariaDB è sicuro, accedi alla shell di MariaDB:
mysql -u root -p
Fornisci la tua password di root quando richiesto, quindi crea un database e un utente per TikiWiki con il seguente comando:
MariaDB [(none)]> CREATE DATABASE tikidb;
MariaDB [(none)]> CREATE USER 'tiki'@'localhost' IDENTIFIED BY 'password';
Quindi, concedi tutti i privilegi al database TikiWiki con il seguente comando:
MariaDB [(none)]> GRANT ALL ON tikidb.* TO 'tiki'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
Quindi, svuota i privilegi ed esci dalla shell MariaDB con il seguente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una volta terminato, puoi procedere al passaggio successivo.
Scarica TikiWiki
Innanzitutto, dovrai scaricare l'ultima versione di TikiWiki dal sito Web di Sourceforge. Puoi scaricarlo con il seguente comando:
cd /var/www/html/
wget https://sourceforge.net/projects/tikiwiki/files/latest/download -O tikiwiki.zip
Una volta completato il download, decomprimere il file scaricato con il seguente comando:
unzip tikiwiki.zip
Quindi, rinomina la directory estratta in tikiwiki con il seguente comando:
mv tiki-20.0 tikiwiki
Quindi, dai le autorizzazioni appropriate alla directory tikiwiki con il seguente comando:
chown -R www-data:www-data /var/www/html/tikiwiki/
chmod -R 755 /var/www/html/tikiwiki/
Una volta terminato, puoi procedere al passaggio successivo.
Configura Apache per TikiWiki
Successivamente, dovrai creare un file di configurazione dell'host virtuale Apache per TikiWiki. Puoi crearlo con il seguente comando:
nano /etc/apache2/sites-available/tikiwiki.conf
Aggiungi il seguente contenuto:
<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>
Salva e chiudi il file. Quindi, abilita il file di configurazione dell'host virtuale con il seguente comando:
a2ensite tikiwiki.conf
Infine, abilita il modulo di riscrittura di Apache e riavvia il servizio Apache per ricaricare le modifiche alla configurazione con il seguente comando:
a2enmod rewrite
systemctl restart apache2
Accedi all'interfaccia web di TikiWiki
Ora apri il tuo browser web e digita l'URL http://example.com. Verrai reindirizzato alla pagina di benvenuto di TikiWiki:
Seleziona la tua lingua e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Accetta il contratto di licenza e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Conferma che il tuo sistema soddisfa i requisiti minimi e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Fornisci il nome del database, il nome utente e la password del database. Quindi, fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Seleziona il motore di database e fai clic su Installa pulsante per avviare l'installazione. Una volta che l'installazione è stata completata con successo, dovresti vedere la seguente pagina:
Ora, fai clic su Continua pulsante, dovresti vedere la seguente pagina:
Fornisci tutte le informazioni richieste come titolo Wiki, email mittente, accesso sicuro, email amministratore e fai clic su Continua pulsante. Dovresti vedere la seguente pagina:
Leggi tutte le informazioni e clicca su Continua pulsante. Dovresti vedere la seguente pagina:
Ora, fai clic su "Entra in Tiki e blocca il programma di installazione ". Dovresti vedere la seguente pagina:
Ora, imposta la tua password di amministratore e fai clic su Applica pulsante. Dovresti vedere la seguente pagina:
Proteggi TikiWiki con Let's Encrypt
In questa sezione spiegheremo come proteggere il tuo sito TikiWiki con Let's Encrypt SSL gratuito.
Innanzitutto, dovrai installare lo strumento Certbot per scaricare e installare Let's Encrypt SSL gratuito per il tuo sito web. Per impostazione predefinita, l'ultima versione di Certbot non è disponibile nel repository predefinito di Debian 10. Quindi, dovrai aggiungere il repository Certbot al tuo sistema.
Puoi aggiungere il repository Certbot con il seguente comando:
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
Quindi, aggiorna il repository e installa Certbot con il seguente comando:
apt-get update -y
apt-get install certbot python-certbot-apache -y
Una volta installato, crea un file well-known.conf per Let's Encrypt per convalidare il tuo dominio.
Innanzitutto, crea una directory .well-known e dai le autorizzazioni appropriate:
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
Quindi, crea un file well-known.conf con il seguente comando:
nano /etc/apache2/conf-available/well-known.conf
Aggiungi le seguenti righe:
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>
Salva e chiudi il file. Quindi, abilita i moduli richiesti con il seguente comando:
a2enmod ssl
a2enmod http2
a2enmod headers
a2enconf well-known
Quindi, riavvia il servizio Apache per applicare tutte le modifiche alla configurazione:
systemctl restart apache2
Ora iniziamo a installare il certificato SSL gratuito per il tuo dominio example.com con il seguente comando:
certbot --apache -d example.com
Innanzitutto, dovrai fornire un indirizzo email valido e accettare i termini di servizio come mostrato di seguito:
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
Quindi, scegli l'opzione 2 per scaricare e installare il certificato SSL gratuito per il tuo dominio. Una volta che l'installazione è stata completata con successo. Dovresti ottenere il seguente output:
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
Questo è tutto. Ora apri il tuo browser web e accedi al tuo CMS TikiWiki utilizzando l'URL https://example.com. Dovresti che il tuo sito TikiWiki sia adeguatamente protetto con un certificato SSL gratuito.