Apache2 unter Ubuntu20.04 LTS

Einführung

Vor langer Zeit habe ich mir Sakura VPS ausgeliehen, um Apache2 unter CentOS zu erstellen, und eine Website veröffentlicht, aber Ubuntu hat einen anderen "conf" -Dateinamen usw. und es hat ein wenig gedauert, also hinterlasse eine Notiz, bis es funktioniert. tief.

Ausführungsumgebung

Ubuntu20.04 LTS (auf GCP)

Memo-Inhalt

    1. Apache-Installation und Startbestätigung
  1. Überprüfen Sie die Apache-Konfigurationsdatei
    1. DocumentRoot-Änderung

1. 1. Apache-Installation und Startbestätigung

Aktualisieren und installieren Sie das Paket nach dem Herstellen einer Verbindung mit SSH mit dem folgenden Befehl.

python


#Aktualisiertes Paketverwaltungstool
$ sudo apt update
$ sudo apt -y upgrade

#Apache installieren
$ sudo apt install -y apache2

Überprüfen Sie den Startstatus

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

⇒ Da es [aktiv (läuft)] ist, wurde es gestartet.

Um zu überprüfen, ob es nach außen geöffnet ist, öffnen Sie einen geeigneten Browser auf Ihrem lokalen PC, greifen Sie auf "http: // [externe IP der VM-Instanz] /" zu, und der folgende Bildschirm wird angezeigt. Qiita-no013_img01.jpg

2. Überprüfen Sie die Apache-Konfigurationsdatei

Überprüfen Sie den Speicherort der Apache2-Conf-Datei

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

Wenn Sie den Inhalt von apache2.conf überprüfen, finden Sie die folgende Beschreibung. (Auszug, weil alle Zeilen lang sind)

apache2.conf


#Definition des Dateinamens zum Festlegen der Zugriffsberechtigung
AccessFileName .htaccess

# .htaccess und.Verweigern Sie den Zugriff von Web-Clients auf htpasswd usw.
<FilesMatch "^\.ht">
        Require all denied
</FilesMatch>

#Lesen Sie eine Datei mit festgelegten Portinformationen
Include ports.conf


#In jedem Ordner`load`Oder`conf`Es ist so eingestellt, dass beim Start alle Dateien gelesen werden

# 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

Spielen Sie mit ports.conf herum

Versuchen Sie, den Port zu ändern und eine Verbindung herzustellen. Bearbeiten Sie wie folgt in sudo nano / etc / apache2 / ports.conf.

/etc/apache2/ports.conf


#Zugewiesene Portinformationen
#Listen 80
Listen 20080

#Zugewiesener Port, wenn ein SSL-bezogenes Modul vorhanden ist
<IfModule ssl_module>
        Listen 443
</IfModule>

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

Starten Sie Apache neu.

$ sudo systemctl restart apache2

Natürlich kann ich jetzt nicht darauf zugreifen, selbst wenn ich die URL eingebe. Wenn Sie den Einstellungen der Datei in GCP "tcp: 20080" hinzufügen, können Sie mit "http: // [externe IP der VM-Instanz]: 20080 /" auf denselben Bildschirm zugreifen. Qiita-no013_img02.jpg

Check in mods-enabled /

python


#Alle sind symbolische Verbindungen, die Realität ist/etc/apache2/mods-available/Es ist in

$ 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

Werfen wir einen Blick auf den Inhalt von einem.

/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

Sie können es mit dem folgenden Befehl aus "mods-enabled /" entfernen, wodurch verhindert wird, dass das Modul beim Start von Apache geladen wird.

python


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

Dies ist der Befehl, um erneut eine symbolische Verknüpfung zu erstellen.

python


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

Checken Sie in conf-enabled / ein

python


#Ebenso alle symbolischen Links. Die Realität ist/etc/apache2/conf-available/Es ist in

$ 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

Es gibt nicht viele Konfigurationsdateien. Schauen wir uns das an.

cat /etc/apache2/conf-enabled/charset.conf ⇒ Zeichencode-bezogene Einstellungen. Alle Standardeinstellungen sind auskommentiert.

cat /etc/apache2/conf-enabled/localized-error-pages.conf ⇒ Fehlercodebezogene Einstellungen. Alle Standardeinstellungen sind auskommentiert.

cat /etc/apache2/conf-enabled/other-vhosts-access-log.conf ⇒ Zugriff auf protokollbezogene Einstellungen.

cat /etc/apache2/conf-enabled/security.conf ⇒ Sicherheitsbezogene Einstellungen für Apache. Dieser Artikel war leicht verständlich organisiert.   https://qiita.com/bezeklik/items/1c4145652661cf5b2271

cat /etc/apache2/conf-enabled/serve-cgi-bin.conf ⇒ CGI-bezogene Einstellungen

Checken Sie in sites-enabled / ein

python


#Der Standardwert ist nur eine Site. Ebenso ist die Realität/etc/apache2/sites-available/Es ist in

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

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

Der Inhalt der Site-Konfigurationsdatei lautet wie folgt.

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


#Nur Zeilen, die nicht auskommentiert sind.
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Da DocumentRoot "/ var / www / html" ist, versuchen Sie, index.html mit dem folgenden Befehl zu bearbeiten.

python


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

/var/www/html/index.html


#Ändern Sie den Titel-Tag-Teil

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

Aktualisieren Sie die URL und öffnen Sie sie erneut, um festzustellen, ob sie geändert wurde.

Ergänzung

Es gab einige Stellen, an denen Umgebungsvariablen wie "$ {APACHE_LOG_DIR}" festgelegt wurden, diese sind jedoch in "/ etc / apache2 / envvars" festgelegt.

3. 3. DocumentRoot-Änderung

Kopieren Sie die Standardkonfigurationsdatei und aktivieren Sie den geänderten DocumentRoot.

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

Festlegen des Inhalts von test-site.conf (nur DocumentRoot ändern)

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


#Nur Zeilen, die nicht auskommentiert sind.
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html-test/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

Erstellt, weil das obige "html-test" -Verzeichnis nicht die Standardeinstellung sein sollte.

python


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

python


#Löschen Sie die aktuelle Site-Konfiguration einmal
$ sudo a2dissite 000-default

#Site-Konfiguration erstellt
$ sudo a2ensite test-site

#Starten Sie Apache neu
$ sudo systemctl restart apache2

Da "html-test" keine "index.html" hat, wurde es erstellt, weil es eine große Sache war.

python


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

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


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

Öffnen Sie "http: // [externe IP der VM-Instanz]: 20080 /" erneut. Wenn es sich um den Inhalt der obigen HTML-Datei handelt, ist die Einstellung gültig.

Ergänzung

Wie oben erwähnt, wenn Sie "sudo a2ensite 000-default" an der Stelle ausführen, an der sich nur "test-site.conf" in "/ etc / apache2 / sites-enabled /" befindet, wenn Sie von außen auf "000-default" zugreifen. 』Die Einstellung wurde priorisiert. Wenn sich in / etc / apache2 / sites-enabled / nichts befindet, scheint es, dass es auf "000-default (zum Zeitpunkt der Installation)" eingestellt ist, aber wo ist die Einstellung hier? Ist unbekannt.

Recommended Posts

Apache2 unter Ubuntu20.04 LTS
Video auf ubuntu18.04LTS aufnehmen
OpenMX unter Ubuntu 18.04.5 LTS installieren
Installieren Sie WordPress 5.5 unter Ubuntu 20.04 LTS
Wake on Lan-Einstellungen unter Ubuntu 20.04.1 LTS
Bis Sie Apache mit Ubuntu auf Docker ausführen
Bildschirmaufnahme unter Ubuntu 20.04
Web Bluetooth unter Ubuntu20.04
Probieren Sie DisplayLink unter Ubuntu 20.04 aus
Installieren Sie pyqt5 auf Ubuntu
So installieren Sie mehrere JDKs unter Ubuntu 18.04 LTS
JAVA_HOME unter Ubuntu einstellen
Verwenden Sie cpplapack mit Ubuntu
Führen Sie tiscamera unter Ubuntu 18.04 aus
Erstellen Sie eine Ubuntu 20.04 LTS-Desktopumgebung auf Raspberry Pi 4 (+ japanische Lokalisierung)
Setzen Sie Ubuntu 20.04.1 in Raspberry 4 ein
Installieren Sie Docker unter Ubuntu Server 20.04
Oracle Java 8 unter Docker Ubuntu
Installieren Sie den zabbix agent (5.0) unter Ubuntu 18.04
Einführung von Wissen (Wiki) in Ubuntu
Installieren Sie Ubuntu Desktop 20.10 auf RaspberryPi4
Installieren Sie Apache unter CentOS auf VirtualBox
Führen Sie das Java-Applet auf Ubuntu aus
Führen Sie Eclipse CDT unter Ubuntu aus
Richten Sie ansible-playbook unter Ubuntu 20.04 ein
Installieren Sie Ubuntu Server 20.04 auf Btrfs
Hinweis: Installieren Sie PostgreSQL 9.5 unter Ubuntu 18.04
Aufbau einer Laravel-Umgebung (Ubuntu 18.04 LTS)
Installieren Sie Ubuntu MATE 20.04 LTS auf dem alten MacBook Anfang 2008 (MB402 * / A, MB403 * / A, MB404 * / A).
So installieren Sie Java9 unter ElementaryOS Freya oder Ubuntu 14.04 LTS
Richten Sie einen MineCraft Paper-Server mit Ubuntu 20.04.1 LTS ② Update ein
Verwenden Sie den virtuellen AP mit Ubuntu 18.04 LTS, um das alte iPad zu einem Submonitor zu machen
Installieren Sie AWS IoT Greengrass unter Ubuntu
Installation von Ruby + Rails unter Ubuntu 18.04 (rbenv)
Installieren Sie JDK und JRE unter Ubuntu 16.10