Tutorial zur Installation von lamp-php7.0 in einer Centos7.4-Umgebung

Tutorial zur Installation von lamp-php7.0 in einer Centos7.4-Umgebung

Dieser Artikel beschreibt, wie lamp-php7.0 in einer Centos7.4-Umgebung installiert wird. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

1. Umweltvorbereitung

Bridge-Modus

Kann auf externes Netzwerk zugreifen

#ping www.baidu.com

Bei einem erfolgreichen Ping können Sie das externe Netzwerk erreichen.

Firewall deaktivieren

#systemctl disable firewalld //Deaktiviere die Firewall. #systemctl stop firewalld //Fahre die Firewall herunter.

Schalten Sie seLinux aus

#vim /etc/selinux/config

Zu:

SELINUX=deaktiviert

Konfigurieren Sie die Yum-Quelle

# cd /etc/yum.repos.d/
# mkdir repo_bak //Erstellen Sie einen Backup-Quellordner# mv *.repo repo_bak/ //Legen Sie alle Quelldateien in den Backup-Ordner# wget http://mirrors.aliyun.com/repo/Centos-7.repo //Konfigurieren Sie die Ali-Quelle# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo //Konfigurieren Sie die NetEase-Quelle# ls //Listen Sie die Dateien im Verzeichnis /etc/yum.repos.d/ auf Centos-7.repo CentOS-Base-163.repo repo.bak
# yum clean all //Alle Yum-Caches im System löschen# yum makecache //Yum-Cache generieren# yum list | grep epel-release //Liste der Epel-Quellen anzeigen# yum install -y epel-release //Epel-Quelle installieren# ls //Die Epel-Quelle wurde erfolgreich installiert. Es gibt zwei weitere epel.repo- und epel-testing.repo-Dateien als zuvor. Centos-7.repo CentOS-Base-163.repo epel.repo epel-testing.repo repo.bak
# wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo //Laden Sie die Epel-Quelle von der Alibaba-Quelle herunter# ls
CentOS7-Base-163.repo Centos-7.repo epel-7.repo epel.repo epel-testing.repo repo_bak
# yum clean all //Den Yum-Cache des Systems erneut leeren# yum makecache //Einen neuen Yum-Cache erstellen# yum repolist enabled //Die im System verfügbaren Yum-Quellen anzeigen# yum repolist all //Alle Yum-Quellen anzeigen

Alte Versionen löschen

# yum -y PHP entfernen

2. Apache

1. Installieren Sie Apache

# yum installiere httpd

2. Apache konfigurieren

# vim /etc/httpd/conf/httpd.conf
//Suche#AddType application/x-gzip .gz .tgz
//Dann fügen Sie # AddType application/x-httpd-php .php hinzu
//Suche #IfModule dir_module
//Index.php unter DirectoryIndex hinzufügen
//Ändern Sie #ServerName www.example.com:80
# ServerName localhost:80

Ändern des Standardwebsiteverzeichnisses

Gefunden: DocumentRoot "/var/www/html"
Ändern in: DocumentRoot "/var/www"

Gefunden: <Verzeichnis "/var/www/html">
Ändern in: <Verzeichnis "/var/www">

3. Starten Sie den Apache-Dienst

# systemctl start httpd

4. Überprüfen Sie den httpd-Status

systemctl status httpd

3. PHP 7.0.7

1. Laden Sie die entsprechende Version des Centos PHP-Quellpakets herunter

php-7.0.7.tar.gz

2. Entpacken Sie das Quellpaket

# tar zxvf php-7.0.7.tar.gz

3. Geben Sie das entpackte Paket ein, um die von PHP benötigten Abhängigkeitspakete zu kompilieren und zu installieren

# yum install -y gcc gcc-c++ make automake autoconf gd file bison patch mlocate flex diffutils zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers openldap-devellibxslt-devel kernel-devel libtool-libs readline-devel gettext-devel libcap-devel php-mcrypt libmcrypt libmcrypt-devel recode-devel gmp-devel icu libxslt libxslt-devel php-devel
# yum -y installiere libxslt-devel*
# yum -y installiere Perl*
# yum -y installiere httpd-devel
# find / -name apxs //Der erhaltene Pfad lautet: /usr/bin/apxs. Er wird beim Kompilieren von Parametern verwendet und ist der Schlüsselparameter zum Konfigurieren von Apache zur Unterstützung von PHP.

4. Kompilierungsparameter

./konfigurieren \
--prefix=/usr/local/php \
--with-config-file-path=/usr/local/php/etc \
--with-zlib-dir \
--with-freetype-dir \
--enable-mbstring \
--with-libxml-dir=/usr \
--enable-xmlreader \
--enable-xmlwriter \
--enable-soap \
--enable-calendar \
--mit-curl \
--mit-zlib \
--mit-gd \
--mit-pdo-sqlite \
--mit-pdo-mysql \
--mit-mysqli \
--mit-mysql-sock \
--enable-mysqlnd \
--disable-rpath \
--enable-inline-optimization \
--mit-bz2 \
--mit-zlib \
--enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
--enable-exif \
--enable-bcmath \
--mit-mhash \
--enable-zip \
--mit-pcre-regex \
--with-jpeg-dir=/usr \
--with-png-dir=/usr \
--mit-openssl \
--enable-ftp \
--mit-kerberos \
--mit-gettext \
--mit-xmlrpc \
--mit-xsl \
--enable-fpm \
--mit-fpm-user=php-fpm \
--mit-fpm-group=php-fpm \
--mit-fpm-systemd \
--mit-apsx2 \
--disable-fileinfo

6. Kompilieren und installieren

# machen && machen installieren

7. Überprüfen Sie die PHP-Version nach der Installation

# /usr/local/php/bin/php -v

8. Bearbeiten Sie /etc/profil und fügen Sie Umgebungsvariablen hinzu

# vim /etc/profil

Füge es hinzu

PATH=$PATH:/usr/local/php/bin
Exportpfad

9. Umgebungsvariablen aktualisieren

# Quelle /etc/Profil

10. Umgebungsvariablen prüfen

# echo $PATH

11. PHP-Version prüfen

# php -v

12. Konfigurieren Sie die PHP-Konfigurationsdatei php-fpm

# cp php.ini-Produktion /etc/php.ini
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
# cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
# chmod +x /etc/init.d/php-fpm
# vim /usr/local/php/etc/php-fpm.conf
# Fehlerprotokoll konfigurieren:
#
# Fehlerlog = /usr/local/php/var/php-fpm.log
#
#PID-Datei konfigurieren:
#
# pid = /usr/local/php/var/run/php-fpm.pid
#
# Speichern und beenden# cd /usr/local/src/php-7.2.4
# cp ./sapi/fpm/php-fpm.service nach /usr/lib/systemd/system/

13. Starten Sie php-fpm

Konfigurieren Sie php-fpm so, dass es beim Booten gestartet wird:

# systemctl aktiviere php-fpm

Starten Sie php-fpm

# systemctl starte php-fpm

Status anzeigen

# systemctl status php-fpm
● php-fpm.service – Der PHP FastCGI Prozessmanager
Geladen: Fehler (Grund: Ungültiges Argument)
Aktiv: inaktiv (tot)
Dez 13 14:37:27 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/php-fpm.service:7] Kein absoluter Pfad, ignoriert wird: ${prefix}/va…fpm.pid
Dez 13 14:37:27 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/php-fpm.service:8] Ausführbarer Pfad ist nicht absolut, ignoriert wird: $…pm.conf
13. Dez 14:37:27 localhost.localdomain systemd[1]: php-fpm.service fehlen sowohl die Einstellungen ExecStart= als auch ExecStop=. Abgelehnt.
13. Dez 14:37:27 localhost.localdomain systemd[1]: Kann keinen Abhängigkeitsjob für die Einheit php-fpm.service hinzufügen, wird ignoriert: Einheit ist nicht richtig geladen.
Hinweis: Einige Zeilen wurden mit Auslassungspunkten versehen. Verwenden Sie -l, um sie vollständig anzuzeigen.

14. Testen Sie die Konfiguration von php-fpm

#Testen Sie die php-fpm-Konfiguration /usr/local/php/sbin/php-fpm -t
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf -t
#Starten Sie php-fpm
/usr/local/php/sbin/php-fpm
/usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf
#php-fpm herunterfahren
kill -INT `cat /usr/local/php/var/run/php-fpm.pid`
#Starten Sie php-fpm neu
kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`

15. Lösung

# vim /usr/lib/systemd/system/php-fpm.service

Ändern Sie ${prefix} und ${exec_prefix} in /usr/local/php und speichern Sie.

//Starten Sie das System neu# reboot

16. Starten Sie Apache und php-fpm neu

# systcl starte httpd neu
# systcl php-fpm neu starten

17. Installieren Sie das entsprechende xdebug

#Kopieren Sie den gesamten Inhalt der Webseite phpinfo.php und fügen Sie ihn in https://xdebug.org/wizard.php ein, um die Xdebug-Version zu ermitteln

Folgen Sie den Anweisungen zur Installation des Dokuments

18. Installieren Sie PHPMyAdmin mit yum

# yum installiere phpmyadmin

Ändern der Konfigurationsdatei

# vi /etc/httpd/conf.d/phpMyAdmin.conf

<Verzeichnis /usr/share/phpMyAdmin/>
  AddDefaultCharset UTF-8
  <IfModule mod_authz_core.c>
   # Apache 2.4
   <Any erforderlich>
   # Erfordert IP 127.0.0.1 #Auskommentieren # Erfordert IP ::1 #Auskommentieren Alle gewährten Berechtigungen erforderlich #Neu hinzugefügt </RequireAny>
 </IfModule>
 <IfModule !mod_authz_core.c>
   # Apache 2.2
   Bestellung ablehnen, zulassen
   Von allen ablehnen
   Erlauben von 127.0.0.1
   Erlauben von::1
  </IfModule>
</Verzeichnis>
<Verzeichnis /usr/share/phpMyAdmin/setup/>
  <IfModule mod_authz_core.c>
   # Apache 2.4
   <Any erforderlich>
   #IP 127.0.0.1 erforderlich #Auskommentieren #IP ::1 erforderlich #Auskommentieren Alle gewährten Berechtigungen erforderlich #Neu hinzugefügt </RequireAny>
  </IfModule>
  <IfModule !mod_authz_core.c>
   # Apache 2.2
   Bestellung ablehnen, zulassen
   Von allen ablehnen
   Erlauben von 127.0.0.1
   Erlauben von::1
  </IfModule>
</Verzeichnis>

Ändern Sie die phpmyadmin-Konfigurationsdatei

# vi /etc/phpMyAdmin/config.inc.php
//Ändern Sie den folgenden Inhalt# $cfg['Servers'][$i]['host'] = '127.0.0.1';
# $cfg['Servers'][$i]['Benutzer'] = 'root';
# $cfg['Servers'][$i]['Passwort'] = '123456';

Starten Sie Apache neu

# systemctl starte httpd neu

Test nach der Installation von MySQL

# Geben Sie in die Adressleiste des Browsers ein: server ip/phpMyAdmin

4. Installieren Sie MySQL 5.7

1. Installationsquelle

# rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2. Installieren Sie MySQL mit yum

# yum installiere mysql-community-server

3. MySQL starten

# systemctl starte mysqld
# systemctl enable mysqld //Beim Booten automatisch starten

4. Bevor Sie das Standard-Root-Passwort ändern, können Sie die Passwortrichtlinie nach Bedarf deaktivieren. Wenn die Kennwortrichtlinie nicht deaktiviert ist, muss das neue Kennwort eine Kombination aus Groß- und Kleinbuchstaben + Zahlen + Zeichen sein.

# vim /etc/my.cnf
[mysqld]
validate_password = aus
//Neustart, damit die geänderte Kennwortrichtlinie wirksam wird# systemctl restart mysqld

5. Ändern Sie das Standard-Root-Passwort von MySQL

//Das Standardkennwort anzeigen# grep 'temporary password' /var/log/mysqld.log
//Das Standardpasswort ist: )U4FB:Kw!evF
# 2018-12-18 Ein temporäres Passwort wird für root@localhost generiert: )U4FB:Kw!evF

Führen Sie den Sicherheits-Setup-Assistenten aus und ändern Sie das Standardkennwort

mysql_secure_installation
//Geben Sie das Standard-Root-Passwort ein.Geben Sie das Passwort für den Benutzer root ein: ***
//Neues Passwort festlegenNeues Passwort:***
Neues Passwort erneut eingeben: ***
//Möchten Sie das Passwort für root ändern? ((Drücken Sie y|Y für Ja, eine beliebige andere Taste für Nein) ://Drücken Sie direkt die Eingabetaste, um Nein anzuzeigen
//Möchten Sie anonyme Benutzer löschen? (Drücken Sie y|Y für Ja, eine beliebige andere Taste für Nein) : y
//Root-Login aus der Ferne verbieten? (Drücken Sie y|Y für Ja, eine beliebige andere Taste für Nein) : y
//Testdatenbank löschenTestdatenbank und Zugriff darauf entfernen? (Drücken Sie y|Y für Ja, eine beliebige andere Taste für Nein) : y
//Berechtigungstabellen jetzt neu laden? (Drücken Sie y|Y für Ja, eine beliebige andere Taste für Nein) : y

//Sie können MySQL auch verwenden, um das Root-Passwort direkt zu ändern mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIZIERT DURCH 'neues Passwort';
Ausfahrt;

//Aus Sicherheitsgründen kann sich root nur lokal anmelden. Bei Bedarf können Sie einen Remote-Benutzer mit Administratorrechten erstellen. mysql -uroot -p
GEWÄHREN SIE ALLE PRIVILEGIEN FÜR *.* AN „Benutzername“@„%“, IDENTIFIZIERT DURCH „Anmeldekennwort“, MIT GRANT-OPTION;
FLUSH-PRIVILEGIEN;
Ausfahrt;

Installation abgeschlossen

Ich hoffe, dieser Artikel hilft Ihnen bei der Konfiguration Ihres CentOS-Servers.

Das könnte Sie auch interessieren:
  • Spezifische Vorgehensweise zum Erstellen einer LAMP-Umgebung in centos7.2
  • Detaillierte Einführung in CentOS 7.0 Lnmp und Lamp
  • Installieren Sie die Lamp-Umgebung mit Yum auf dem Centos7.2-System
  • Vollständiger Satz der neuesten Versionskonfiguration für CentOS7 + PHP7 Lamp sowie ausführliche Erläuterung des MongoDB- und Redis-Tutorials
  • Detailliertes Tutorial zur Installation der neuesten Version von PHP7 auf Centos7
  • So installieren Sie PHP7.2 mit CentOS7yum
  • Centos7.2 – Schritte zum Kompilieren und Installieren von PHP7.0.2
  • Tutorial zur Installation von lnmp mit yum auf centos7 (linux+nginx+php7.1+mysql5.7)
  • Alibaba Cloud CentOS7 erstellt eine Apache+PHP+MySQL-Umgebung
  • Detaillierte Anweisungen zum Erstellen von LAMP und Aktualisieren der PHP-Version auf dem CentOS7-System

<<:  Kurze Analyse von MySQL Union und Union All

>>:  CocosCreator - modulares Lernskript

Artikel empfehlen

Implementierung der Navigationsleiste und des Dropdown-Menüs in CSS

1. CSS-Navigationsleiste (1) Funktion der Navigat...

Detaillierte grafische Erklärung der MySQL-Abfragesteuerungsanweisungen

MySQL-Abfrage-Steueranweisungen Felddeduplizierun...

So übertragen Sie Dateien zwischen Docker-Container und lokalem Computer

Zum Übertragen von Dateien zwischen dem Host und ...

Detaillierter Installationsprozess des NodeJS-Verwaltungstools NVM

keine Ahnung nvm ist für die Verwaltung mehrerer ...

Vue Router vue-router ausführliche Erklärung Anleitung

Chinesische Dokumentation: https://router.vuejs.o...

Detaillierte Erklärung zur Verwendung von this.$set in Vue

Inhaltsverzeichnis Verwendung von this.$set in Vu...

Erstellen der Benutzererfahrung

<br />Vielleicht sind Sie gerade in ein Unte...

MySql fügt Daten erfolgreich ein, meldet aber [Err] 1055 Fehlerlösung

1. Frage: Ich habe in diesen Tagen Einfügevorgäng...

Detailliertes Beispiel für MySQL-Joint-Tabellen-Update-Daten

1.MySQL UPDATE JOIN-Syntax In MySQL können Sie di...

Vue implementiert Sternebewertung mit Dezimalstellen

In diesem Artikel wird der spezifische Code von V...

JS implementiert einfache Addition und Subtraktion von Warenkorbeffekten

In diesem Artikelbeispiel wird der spezifische JS...

Eine kurze Analyse des Unterschieds zwischen FIND_IN_SET() und IN in MySQL

Ich habe die Mysql FIND_IN_SET-Funktion vor einig...

Einfaches Beispiel für HTML-Textformatierung (ausführliche Erklärung)

1. Textformatierung: Dieses Beispiel zeigt, wie T...