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

Lesedauer: 7 Minute
0

Ich möchte manuell einen Lamp-Stack (Linux, Apache, MySQL, PHP) auf meiner Amazon Lightsail-Instance installieren.

Behebung

Hinweis: Die folgende Behebzng gilt für die meisten wichtigen Linux-Distributionen, 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 LAMP-Webserver auf Amazon Linux 2 installieren.

Informationen zur Installation eines LAMP-Stacks auf Amazon Linux finden Sie unter LAMP-Webserver auf Amazon Linux installieren.

Apache installieren

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

PHP installieren

Hinweis: Die folgenden Schritte installieren die neueste Paketversion, PHP 8.0. Standardmäßig ist PHP 8.0 in den meisten Distributionen nicht vorhanden. Um PHP 8.0 zu installieren, schalten Sie Drittanbieter-Repositorys ein.

Ubuntu 20.04 und Ubuntu 18.04

Um MTR zu installieren, führen Sie die folgenden Befehle aus:

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

Um MTR zu installieren, führen Sie die folgenden Befehle aus:

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

Um MTR zu installieren, führen Sie die folgenden Befehle aus:

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

Um MTR zu installieren, führen Sie die folgenden Befehle aus:

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

Schalten Sie das PHP-FPM-Modul ein

Das PHP-FPM-Modul sorgt für eine schnellere Website. Obwohl PHP-FPM optional ist, empfiehlt es sich, es für die Erstellung und Verwaltung der meisten 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. Erstellen Sie eine Sicherungskopie der aktuellen PHP-Konfigurationsdatei in Apache und erstellen Sie dann eine neue mit dem folgenden 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
  1. 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, sodass der Dienst auf den Anschluss statt auf den 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. Erstellen Sie eine Sicherungskopie der aktuellen PHP-Konfigurationsdatei in Apache und erstellen Sie dann eine neue mit dem folgenden 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

MariaDB installieren

Installieren Sie MariaDB Version 10.5 mit dem 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 die Eingabetaste.
    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 auszuschalten.
    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 mit SCP/SFTP zu übertragen, sollten Sie als bewährte Methode dem anderen Benutzer Berechtigungen für den Zugriff auf das Verzeichnis /var/www zuweisen. Anweisungen zum Festlegen von Berechtigungen finden Sie im Abschnitt So legen Sie Dateiberechtigungen fest in Schritt 1: Bereiten Sie den LAMP-Server vor. Die folgenden Schritte geben die erforderlichen Berechtigungen für den Standardbenutzer in jeder Linux-Distribution. Sie können den Benutzer zur Apache-Gruppe hinzufügen und dann den Besitzer des Verzeichnisses auf den Standardbenutzer und die Apache-Gruppe ändern.

Führen Sie die folgenden Schritte aus:

Ubuntu 20.04 und 18.04

  1. Führen Sie folgenden Befehl aus:

    sudo usermod -a -G www-data ubuntu
  2. Loggen Sie sich aus und dann wieder ein, um die neue Gruppe abzuholen. Führen Sie dann den Gruppenbefehlaus, um Ihre Mitgliedschaft zu überprüfen:

    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 folgenden Befehl aus:

    sudo usermod -a -G www-data admin
  2. Loggen Sie sich aus und dann wieder ein, um die neue Gruppe abzuholen. Führen Sie dann den Gruppenbefehlaus, um Ihre Mitgliedschaft zu überprüfen:

    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 folgenden Befehl aus:

    sudo usermod -a -G apache centos
  2. Loggen Sie sich aus und dann wieder ein, um die neue Gruppe abzuholen. Führen Sie den Gruppenbefehl aus, um Ihre Mitgliedschaft zu überprüfen:

    sudo chown -R centos:apache /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 {} \;

Standardwebseite anzeigen

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 9 Monaten