Apache2 sur Ubuntu20.04 LTS

introduction

Il y a longtemps, j'ai emprunté Sakura VPS pour construire Apache2 sur CentOS et publié un site Web, mais Ubuntu a un nom de fichier conf différent, etc. et cela a pris un peu de temps, alors laissez une note jusqu'à ce que cela fonctionne. Profond.

Environnement d'exécution

Ubuntu20.04 LTS (sur GCP)

Contenu du mémo

    1. Confirmation d'installation et de démarrage d'Apache
  1. Vérifiez le fichier de configuration Apache
    1. Changement de DocumentRoot

1. 1. Confirmation d'installation et de démarrage d'Apache

Après vous être connecté à SSH, mettez à jour et installez le package à partir de la commande suivante.

python


#Outil de gestion des paquets mis à jour
$ sudo apt update
$ sudo apt -y upgrade

#Installer Apache
$ sudo apt install -y apache2

Vérifiez l'état de démarrage

python


$ systemctl status apache2

● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-10-06 01:15:54 UTC; 21s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 17933 (apache2)
      Tasks: 55 (limit: 2374)
     Memory: 5.6M
     CGroup: /system.slice/apache2.service
             ├─17933 /usr/sbin/apache2 -k start
             ├─17935 /usr/sbin/apache2 -k start
             └─17936 /usr/sbin/apache2 -k start

⇒ Puisqu'il est [actif (en cours)], il a été démarré.

Pour vérifier s'il est ouvert vers l'extérieur, ouvrez un navigateur approprié sur votre PC local, accédez à http: // [IP externe de l'instance de VM] /, et l'écran suivant s'affiche. Qiita-no013_img01.jpg

2. Vérifier le fichier de configuration Apache

Vérifiez l'emplacement du fichier de configuration Apache2

$ find / -name 'apache2.conf'
/etc/apache2/apache2.conf

Si vous vérifiez le contenu de apache2.conf, vous trouverez la description suivante. (Toutes les lignes sont longues, donc extrait)

apache2.conf


#Définition du nom de fichier pour définir l'autorité d'accès
AccessFileName .htaccess

# .htaccess et.Refuser l'accès des clients Web à htpasswd, etc.
<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

#Lire un fichier avec des informations de port définies
Include ports.conf


#Dans chaque dossier`load`Ou`conf`Il est configuré pour lire tous les fichiers au démarrage

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf

# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf

# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf

Jouez avec ports.conf

Essayez de changer le port et de vous connecter. Modifiez comme suit dans sudo nano / etc / apache2 / ports.conf.

/etc/apache2/ports.conf


#Informations sur le port attribué
#Listen 80
Listen 20080

#Port attribué lorsqu'il existe un module lié à SSL
<IfModule ssl_module>
        Listen 443
</IfModule>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule>

Redémarrez Apache.

$ sudo systemctl restart apache2

De toute évidence, maintenant je ne peux pas y accéder même si j'entre l'URL. Si vous ajoutez tcp: 20080 aux paramètres du fichier sur GCP, vous pouvez accéder au même écran avec http: // [IP externe de l'instance de VM]: 20080 /. Qiita-no013_img02.jpg

Enregistrement activé par les mods /

python


#Tous sont des liens symboliques, la réalité est/etc/apache2/mods-available/C'est dedans

$ ls /etc/apache2/mods-enabled/
access_compat.load  authn_file.load  autoindex.load  env.load        mpm_event.load    setenvif.conf
alias.conf          authz_core.load  deflate.conf    filter.load     negotiation.conf  setenvif.load
alias.load          authz_host.load  deflate.load    mime.conf       negotiation.load  status.conf
auth_basic.load     authz_user.load  dir.conf        mime.load       reqtimeout.conf   status.load
authn_core.load     autoindex.conf   dir.load        mpm_event.conf  reqtimeout.load

$ readlink /etc/apache2/mods-enabled/dir.conf
../mods-available/dir.conf

Jetons un coup d'œil au contenu d'un.

/etc/apache2/mods-available/dir.conf


<IfModule mod_dir.c>
        DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Vous pouvez le supprimer de mods-enabled / avec la commande suivante, ce qui empêchera le module de se charger au démarrage d'Apache.

python


$sudo a2dismod [nom du module]
Module ~~~~~~ disabled.
To activate the new configuration, you need to run:
  systemctl restart apache2

C'est la commande pour créer à nouveau un lien symbolique.

python


$sudo a2enmod [nom du module]
Enabling module ~~~~~~~~.
To activate the new configuration, you need to run:
  systemctl restart apache2

Enregistrement activé par conf /

python


#De même, tous les liens symboliques. La réalité est/etc/apache2/conf-available/C'est dedans

$ ls /etc/apache2/conf-enabled/
charset.conf  localized-error-pages.conf  other-vhosts-access-log.conf  security.conf  serve-cgi-bin.conf

$ readlink /etc/apache2/conf-enabled/charset.conf
../conf-available/charset.conf

Il n'y a pas beaucoup de fichiers de configuration, alors jetons un œil.

cat /etc/apache2/conf-enabled/charset.conf ⇒ Paramètres liés au code de caractère. Tous les paramètres par défaut sont commentés.

cat /etc/apache2/conf-enabled/localized-error-pages.conf ⇒ Paramètres liés au code d'erreur. Tous les paramètres par défaut sont commentés.

cat /etc/apache2/conf-enabled/other-vhosts-access-log.conf ⇒ Accéder aux paramètres liés au journal.

cat /etc/apache2/conf-enabled/security.conf ⇒ Paramètres liés à la sécurité Apache. Cet article a été organisé de manière simple à comprendre.   https://qiita.com/bezeklik/items/1c4145652661cf5b2271

cat /etc/apache2/conf-enabled/serve-cgi-bin.conf ⇒ Paramètres liés à CGI

Enregistrement activé pour les sites /

python


#La valeur par défaut est un seul site. De même, la réalité est/etc/apache2/sites-available/C'est dedans

$ ls /etc/apache2/sites-enabled
000-default.conf

$ readlink /etc/apache2/sites-enabled/000-default.conf
../sites-available/000-default.conf

Le contenu du fichier de configuration du site est le suivant.

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


#Seules les lignes qui ne sont pas commentées.
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Puisque DocumentRoot est «/ var / www / html», essayez de modifier «index.html» à partir de la commande suivante.

python


$ sudo nano /var/www/html/index.html

/var/www/html/index.html


#Changer la partie de la balise de titre

<!--    <title>Apache2 Ubuntu Default Page: It works</title> -->
    <title>Changed Title</title>  

Mettez à jour l'URL et rouvrez-la pour voir qu'elle a changé.

Supplément

Il y avait des endroits où des variables d'environnement telles que $ {APACHE_LOG_DIR} étaient définies, mais celles-ci sont définies dans / etc / apache2 / envvars.

3. 3. Changement de DocumentRoot

Copiez le fichier de configuration par défaut et activez le DocumentRoot modifié.

$ sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-availa
ble/test-site.conf

Définition du contenu de test-site.conf (modifier uniquement DocumentRoot)

/etc/apache2/sites-available/test-site.conf


#Seules les lignes qui ne sont pas commentées.
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html-test/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

Créé parce que le répertoire "html-test" ci-dessus ne doit pas être le répertoire par défaut.

python


$ sudo mkdir /var/www/html-test/

python


#Supprimer une fois la configuration actuelle du site
$ sudo a2dissite 000-default

#Configuration du site créée
$ sudo a2ensite test-site

#Redémarrez Apache
$ sudo systemctl restart apache2

Puisque «html-test» n'a pas «index.html», il a été créé parce que c'était un gros problème.

python


$ sudo nano /var/www/html-test/index.html

/var/www/html-test/index.html


<html>
 Hello Test-Site!
</html>

Rouvrez http: // [IP externe de l'instance de VM]: 20080 /, et s'il s'agit du contenu du fichier html ci-dessus, le paramètre est valide.

Supplément

Comme mentionné ci-dessus, si vous exécutez sudo a2ensite 000-default à l'endroit où il n'y a que" test-site.conf "dans / etc / apache2 / sites-enabled /, lorsque vous accédez de l'extérieur, "000-default" 』Le réglage a été priorisé. De plus, quand il n'y a rien dans / etc / apache2 / sites-enabled /, il semble qu'il soit réglé sur "000-default (au moment de l'installation)", mais où est le paramètre ici? Est inconnu.

Recommended Posts

Apache2 sur Ubuntu20.04 LTS
Enregistrer une vidéo sur ubuntu18.04LTS
Installation d'OpenMX sur Ubuntu 18.04.5 LTS
Installez WordPress 5.5 sur Ubuntu 20.04 LTS
Paramètres Wake on Lan sur Ubuntu 20.04.1 LTS
Jusqu'à ce que vous exécutiez apache avec ubuntu sur docker
Enregistrement d'écran sur Ubuntu 20.04
Bluetooth Web sur Ubuntu20.04
Essayez DisplayLink sur Ubuntu 20.04
Installez pyqt5 sur ubuntu
Comment installer plusieurs JDK sur Ubuntu 18.04 LTS
Définition de JAVA_HOME sur Ubuntu
Utiliser cpplapack avec ubuntu
Exécutez tiscamera sur Ubuntu 18.04
Créer un environnement de bureau Ubuntu 20.04 LTS sur Raspberry Pi 4 (+ localisation japonaise)
Mettez Ubuntu 20.04.1 dans Raspberry 4
Installez Docker sur Ubuntu Server 20.04
Oracle Java 8 sur Docker Ubuntu
Installez l'agent zabbix (5.0) sur Ubuntu 18.04
Introduction des connaissances (wiki) à Ubuntu
Installez Ubuntu Desktop 20.10 sur RaspberryPi4
Installez Apache sur CentOS sur VirtualBox
Exécutez l'applet java sur ubuntu
Exécutez Eclipse CDT sur Ubuntu
Configurer ansible-playbook sur Ubuntu 20.04
Installez Ubuntu Server 20.04 sur Btrfs
Remarque: installez PostgreSQL 9.5 sur Ubuntu 18.04
Construction de l'environnement Laravel (Ubuntu 18.04 LTS)
Installez Ubuntu MATE 20.04 LTS sur l'ancien MacBook début 2008 (MB402 * / A, MB403 * / A, MB404 * / A)
Comment installer java9 sur elementaryOS Freya ou Ubuntu 14.04 LTS
Configurer un serveur MineCraft Paper avec Ubuntu 20.04.1 LTS ② Mise à jour
Utilisez un point d'accès virtuel avec Ubuntu 18.04 LTS pour faire de l'ancien iPad un sous-moniteur
Installez AWS IoT Greengrass sur Ubuntu
Installation de Ruby + Rails sur Ubuntu 18.04 (rbenv)
Installez JDK et JRE sur Ubuntu 16.10