Linux Apache - omartek/linux_variePerLaboratorio GitHub Wiki

Table of Contents

Impostare Apache

Creare la struttura delle cartelle

Per prima cosa realizza la struttura web all'interno della cartella di default,

 sudo mkdir -p /var/www/primo/public_html

e dai i permessi all'utente attuale (individuato dalla variabile $USER),

 sudo chown -R $USER:$USER /var/www/primo/public_html

ed ulteriori permessi di lettura per garantire l'accesso alla directory web generale e che tutti i file e le cartelle che contiene possano essere servite correttamente.

 sudo chmod -R 755 /var/www

Creare una homepage d'esempio che sarà raggiungibile solo dopo aver modificato il file di configurazione 000-default.conf del punto seguente.

 nano /var/www/primo/index.html

Modificare il file di configurazione

Modificare il file di configurazione di default che si trova qui:

 sudo nano /etc/apache2/sites-available/000-default.conf

indicando la cartella a cui puntare modificando il valore DocumentRoot,

 DocumentRoot /var/www/html

e quindi riavviare il server.

 sudo service apache2 restart

Installare SSL

Abilitare il modulo per la codifica SSL,

 sudo a2enmod ssl

creare quindi una cartella dove verranno inserite le chiavi generate.

 sudo mkdir /etc/apache2/ssl
 sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Verranno richieste alcuni informazioni; è importante in Common Name indicare il dominio o l'indirizzo IP del server. Al termine sarà necessario modificare il file di configurazione,

 sudo nano /etc/apache2/sites-available/default-ssl.conf

modificando le righe in grassetto

 <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin [email protected]
        '''ServerName your_domain.com or IP'''
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        '''SSLCertificateFile /etc/apache2/ssl/apache.crt'''
        '''SSLCertificateKeyFile /etc/apache2/ssl/apache.key'''
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
        </filesmatch>
        <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
        </directory>
        BrowserMatch "MSIE [2-6]" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    </virtualhost>
 </ifmodule>

Al termine sarà necessario abilitare il modulo e riavviare Apache.

 sudo a2ensite default-ssl.conf
 sudo service apache2 restart

Accedendo al sito comparirà un messaggio di warning poichè il certificato creato non è certificato da ente esterno. Volendo si potrebbero utilizzare servizi di certificazione gratuiti come Let's encrypt.

Per garantire la retrocompatibilità del nostro sito HTTPS con chi tenta di raggiungerlo in HTTP, possiamo aggiungere una ulteriore entry nel file /etc/apache2/sites-available/000-default.conf che effettua un redirect automatico:

 <VirtualHost *:80>
    ServerName  miosito.com/
    Redirect / https://miosito.com/
 </virtualhost>

Configurazione Pannello DNS, Apache e LocalSettings.php di MediaWiki

Nel pannello di amministrazione DNS del gestore del dominio creare HOST con indirizzo IPv4 della VPS:

  • empty
  • www
  • wiki
Modifica al file di Apache https://httpd.apache.org/docs/2.2/vhosts/name-based.html Link guida Virtual host
 sudo nano /etc/apache2/sites-available/000-default.conf
 NameVirtualHost *:80
 <VirtualHost *:80>
        ServerName www.scuolabit.it
        DocumentRoot /var/www/html
 </virtualhost>
 <VirtualHost *:80>
        ServerName wiki.scuolabit.it
        DocumentRoot /var/www/html/wiki
 </virtualhost>
 # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Modifica al file di MediaWiki contenuto in

 sudo nano /var/www/html/wiki/LocalSettings.php
 ## The protocol and server name to use in fully-qualified URLs
 #$wgServer = "http://167.114.245.77";
 $wgServer = "http://www.scuolabit.it";
 #$wgServer = "http://wiki.scuolabit.it"; (questo non funziona ancora)

Installare Mediawiki

Installare Mediawiki

Link

Installare LAMP

Impostare Virtual hosts

Attivare SSL

Certificato SSL e redirect

Category:Aiuto

⚠️ **GitHub.com Fallback** ⚠️