Wie installiere ich einen LAMP-Stack manuell auf meiner Lightsail-Instance?

Letzte Aktualisierung: 25.10.2021

Ich möchte manuell einen LAMP-Stack (Linux, Apache, MySQL, PHP) auf meiner Amazon Lightsail-Instance installieren. Wie gehe ich dazu vor?

Auflösung

Hinweis: Die Auflösungsschritte decken die meisten wichtigen Linux-Distributionen ab, die unter der Option Nur Betriebssystem in Amazon Lightsail verfügbar sind. Dazu gehören Ubuntu 20.04, Ubuntu 18.04, Debian 10 und 9 sowie CentOS 8 und 7.

Informationen zur Installation eines LAMP-Stacks auf Amazon Linux 2 finden Sie unter Tutorial: Installieren eines LAMP-Webservers auf Amazon Linux 2.

Informationen zur Installation eines LAMP-Stacks auf Amazon Linux finden Sie unter Tutorial: Installieren eines LAMP-Webservers auf dem Amazon-Linux-AMI.

Installieren Sie Apache

Ubuntu 20.04 und 18.04, Debian 9 und 10

Führen Sie die folgenden Befehle aus, um den Apache-Webserver zu installieren:

sudo apt update -y
sudo apt install apache2 -y

CentOS 7 und CentOS 8

Führen Sie die folgenden Befehle aus, um den Apache-Webserver zu installieren:

sudo yum update -y
sudo yum install httpd wget -y
sudo systemctl enable httpd
sudo systemctl start httpd

Installieren Sie PHP

Hinweis: Die folgenden Schritte installieren PHP 8.0, die neueste unterstützte PHP-Paketversion. PHP 8.0 ist in den meisten Distributionen standardmäßig nicht vorhanden. Sie installieren PHP 8.0, indem Sie Repositorys von Drittanbietern aktivieren.

Ubuntu 20.04 und Ubuntu 18.04

Führen Sie die folgenden Befehle aus, um PHP zu installieren:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update -y
sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y

Debian 10 und Debian 9

Führen Sie die folgenden Befehle aus, um PHP zu installieren:

sudo apt install -y gnupg2 ca-certificates apt-transport-https software-properties-common
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list
sudo apt update
sudo apt install php8.0 php8.0-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} libapache2-mod-php8.0 -y

CentOS 7

Führen Sie die folgenden Befehle aus, um PHP zu installieren:

sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y yum-utils
sudo yum-config-manager --enable remi-php80
sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y

CentOS 8

Führen Sie die folgenden Befehle aus, um PHP zu installieren:

sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm
sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf module enable php:remi-8.0 -y
sudo yum install php php-{fpm,mysql,curl,gd,mbstring,mysql,xml,mcrypt,zip,ldap} -y

Aktivieren Sie das PHP-FPM-Modul

Das PHP-FPM-Modul bietet eine viel schnellere Website. Obwohl die Installation von PHP-FPM optional ist, ist es eine bewärte Methode, es mit den meisten Websites zum Erstellen und Verwalten von Websites zu verwenden.

Ubuntu 20.04 und 18.04, Debian 10 und 9

Führen Sie die folgenden Befehle aus, um PHP-FPM zu installieren:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm
sudo a2dismod php8.0
sudo systemctl enable php8.0-fpm
sudo service apache2 restart;sudo service php8.0-fpm restart

CentOS 7

1.    Aktualisieren Sie die Apache-Konfiguration, um das mpm_event_module anstelle des mpm_prefork_module zu verwenden:

[centos@ip ~]# sudo vi /etc/httpd/conf.modules.d/00-mpm.conf 
# LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
LoadModule mpm_event_module modules/mod_mpm_event.so

2.    Sichern Sie die aktuelle PHP-Konfigurationsdatei in Apache und erstellen Sie dann eine neue mit folgendem Inhalt:

sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak
sudo vi /etc/httpd/conf.d/php.conf

<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>
</Files>

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

AddType text/html .php
DirectoryIndex index.php

3.    Starten Sie Apache und PHP-FPM neu, damit die Änderungen wirksam werden:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

CentOS 8

1.    Aktualisieren Sie die PHP-FPM-Konfigurationsdatei, damit der Dienst auf Port statt auf Socket hört.

sudo sed 's#listen = /run/php-fpm/www.sock#listen = 127.0.0.1:9000#g' -i /etc/php-fpm.d/www.conf

2.    Sichern Sie die aktuelle PHP-Konfigurationsdatei in Apache und erstellen Sie dann eine neue mit folgendem Inhalt:

sudo mv /etc/httpd/conf.d/php.conf /etc/httpd/conf.d/php.conf_bak
sudo vi /etc/httpd/conf.d/php.conf

<Files ".user.ini">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
        Satisfy All
    </IfModule>
</Files>

<FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

AddType text/html .php
DirectoryIndex index.php

3.    Führen Sie den folgenden Befehl auf dem Server aus, damit Apache ausgehende Verbindungen herstellen kann:

sudo /usr/sbin/setsebool -P httpd_can_network_connect 1

4.    Starten Sie Apache und PHP-FPM neu, damit die Änderungen wirksam werden:

sudo systemctl restart php-fpm
sudo systemctl restart httpd

Installieren von MariaDB

Installieren Sie MariaDB Version 10.5 direkt über das MariaDB-Repository.

1.    Führen Sie den folgenden Befehl aus, um das MariaDB-yum-Repository hinzuzufügen (für alle Linux-Distributionen):

curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash -s -- --mariadb-server-version="mariadb-10.5"

2.    Installieren Sie das MariaDB-Paket:

Ubuntu 20.04, Ubuntu 18.04, Debian 10 und Debian 9

sudo apt install mariadb-server -y

CentOS 8 und CentOS 7

sudo yum install MariaDB-server MariaDB-client -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

3.    Führen Sie den folgenden Befehl aus, um die sichere MariaDB-Installation abzuschließen und das Root-Passwort festzulegen:

sudo mysql_secure_installation

4.    Wenn Sie dazu aufgefordert werden, legen Sie ein Passwort für das Root-Konto fest:

Geben Sie das aktuelle Root-Passwort ein. Standardmäßig ist für das Root-Konto kein Passwort festgelegt.
Drücken Sie Enter (Eingabe).
Drücken Sie N, um zur unix_socket-Authentifizierung zu wechseln.
Drücken Sie Y, um ein Passwort festzulegen, und geben Sie dann zweimal ein sicheres Passwort ein. Bewahren Sie dieses Passwort an einem sicheren Ort auf.
Drücken Sie Y, um die anonymen Benutzerkonten zu entfernen.
Drücken Sie Y, um die Remote-Root-Anmeldung zu deaktivieren.
Drücken Sie Y, um die Testdatenbank zu entfernen.
Drücken Sie Y, um die Berechtigungstabellen neu zu laden und Ihre Änderungen zu speichern.

Fügen Sie dem Standardbenutzer Berechtigungen für die Ordner Ihrer Website hinzu

Um die Instance Ihrer Website mithilfe von SCP/SFTP zu übertragen, empfiehlt es sich, dass der entsprechende Benutzer über Berechtigungen für den Zugriff auf das Verzeichnis /var/www verfügt. Die folgenden Schritte geben dem Standardbenutzer in jeder Linux-Distribution die entsprechenden Berechtigungen. Sie können den Benutzer zur Apache-Gruppe hinzufügen und dann den Besitz dieses Verzeichnisses in den Standardbenutzer und die Apache-Gruppe ändern.

Ubuntu 20.04 und 18.04

1.    Führen Sie den folgenden Befehl aus:

sudo usermod -a -G www-data ubuntu

2.    Melden Sie sich ab und melden Sie sich dann wieder an, um die neue Gruppe abzuholen. Verifizieren Sie dann Ihre Mitgliedschaft, indem Sie "group" ausführen:

sudo chown -R ubuntu:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

Debian 10 und 9

1.    Führen Sie den folgenden Befehl aus:

sudo usermod -a -G www-data admin

2.    Melden Sie sich ab und melden Sie sich wieder an, um die neue Gruppe abzuholen. Überprüfen Sie dann Ihre Mitgliedschaft, indem Sie "group" ausführen.

sudo chown -R admin:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

CentOS 8 und 7

1.    Führen Sie den folgenden Befehl aus:

sudo usermod -a -G www-data ubuntu

2.    Melden Sie sich ab und melden Sie sich wieder an, um die neue Gruppe abzuholen. Verifizieren Sie Ihre Mitgliedschaft, indem Sie "group" ausführen:

sudo chown -R ubuntu:www-data /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;

Ihre Seite ist fertig

Greifen Sie in einem Webbrowser auf die öffentliche IP-Adresse Ihrer Instance zu, um die Standardwebseite anzuzeigen. Ihre Website ist jetzt zur Anpassung bereit.


War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?