Explication détaillée du graphique d'installation de la source LAMP (suivez les étapes, si facile)

Répertoire d'articles

1. Présentation de LAMP

L'architecture LAMP est l'un des modes d'application actuels de site Web d'entreprise mature, qui fait référence à un ensemble de systèmes et de logiciels associés qui fonctionnent ensemble pour fournir des services de site Web dynamiques et des environnements de développement d'applications. LAMP est un acronyme qui inclut spécifiquement le système d'exploitation Linux, le serveur Web Apache, le serveur de base de données MySQL, le langage de programmation Web PHP (ou Perl, Python).

1. Le rôle de chaque composant

L: (Plateforme) Linux: En tant que base de l'architecture LAMP, il fournit un système d'exploitation pour prendre en charge le site Web, qui peut offrir une meilleure stabilité et compatibilité avec les trois autres composants (les composants AMP prennent également en charge des plates-formes telles que Windows et UNIX).

A: (premier plan) Apache: En tant que frontal de l'architecture LAMP, il s'agit d'un programme de serveur Web puissant et stable qui fournit directement aux utilisateurs l'accès au site Web, l'envoi de pages Web, d'images et d'autres contenus de fichiers.

M: (Arrière-plan) MySQL: En tant que back-end de l'architecture LAMP, il s'agit d'un système de base de données relationnelle open source populaire. Dans les applications telles que les sites Web d'entreprise et les systèmes d'entreprise, diverses informations sur les comptes, les informations sur les produits, les informations sur les clients, les données commerciales, etc. peuvent être stockées dans la base de données MySQL, et d'autres programmes peuvent interroger et modifier ces informations via des instructions SQL.

P: (connexion intermédiaire) PHP / Perl / Python: En tant que trois langages de programmation pour le développement de pages Web dynamiques, il est chargé d'interpréter les fichiers de pages Web dynamiques, de communiquer avec les serveurs Web et les systèmes de base de données pour travailler ensemble, et de fournir un environnement de développement et d'exploitation pour les applications Web. Parmi eux, PHP est un langage de script polyvalent open source largement utilisé, qui peut être intégré au HTML, et est particulièrement adapté au développement d'applications Web.

2. Séquence d'installation de chaque composant

Lors de la construction de la plateforme LAMP, l'ordre d'installation de chaque composant est Linux, Apache, MySQL, PHP. Il n'y a pas d'ordre strict pour l'installation d'Apache et de MySQL L'installation de l'environnement PHP est généralement placée à la fin, chargée de communiquer avec le serveur Web et le système de base de données pour travailler ensemble.

3. Package d'installation

Package d'installation de LAMP
Extraire le code: ap64

Deuxièmement, compilez et installez le service Apache httpd

1. Désactivez le pare-feu et téléchargez les packages logiciels requis pour installer Apache dans le répertoire / opt

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

httpd-2.4.29.tar.gz
apr-1.6.2.tar.gz
apr-util-1.6.0.tar.gz

Le package de composants #apr est utilisé pour prendre en charge les applications de niveau supérieur Apache multiplateformes et fournir la bibliothèque d'interface sous-jacente, ce qui peut réduire efficacement le nombre de connexions simultanées, réduire les processus et réduire la congestion d'accès.
Insérez la description de l'image ici
Insérez la description de l'image ici

2. Packages dépendants de l'environnement d'installation

yum -y install \
gcc \							#C语言的编译器
gcc-c++ \						#C++的编译器
make \							#源代码编译器(源代码转换成二进制文件)
pcre \							#pcre是一个Perl函数库,包括perl 兼容的正则表达式库
pcre-devel \                    #perl的接口开发包
expat-devel \                   #用于支持网站解析HTML、XML文件
perl                            #perl语言编译

yum -y install gcc gcc-c++ make pcre pcre-devel expat-devel perl            

Insérez la description de l'image ici

3. Configurer le module logiciel

cd /opt/
tar zxvf apr-1.6.2.tar.gz
tar zxvf apr-util-1.6.0.tar.gz
tar jxvf httpd-2.4.29.tar.bz2

mv apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \		#指定将 httpd 服务程序的安装路径
--enable-so \					#启用动态加载模块支持,使 httpd 具备进一步扩展功能的能力
--enable-rewrite \				#启用网页地址重写功能,用于网站优化、防盗链及目录迁移维护
--enable-charset-lite \			#启动字符集支持,以便支持使用各种字符集编码的页面
--enable-cgi					#启用CGI(通用网关接口)脚本程序支持,便于网站的外部扩展应用访问能力

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi

Insérez la description de l'image ici
Insérez la description de l'image ici

4. Compilez et installez

make							#make -j 2  表示开2核同时进行编译
make install

Insérez la description de l'image ici

5. Optimisez le chemin du fichier de configuration et placez le fichier programme exécutable du service httpd dans le répertoire de la variable d'environnement path pour une identification facile du système

ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/

Insérez la description de l'image ici

6. Ajouter le service système httpd

première méthode:

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd		#用于service服务管理
chmod +x /etc/init.d/httpd
vi /etc/init.d/httpd
#!/bin/bash												#在第一行前插入新行,添加此三行内容
# chkconfig: 35 85 21									#35级别自动运行  第85个启动 第21个关闭
# description: Apache is a World Wide Web server

chkconfig --add httpd     		#将httpd服务加入到service管理器

systemctl start httpd.service
或
service httpd start

Deuxième méthode:

vim /lib/systemd/system/httpd.service
[Unit]
Description=The Apache HTTP Server						#描述
After=network.target									#描述服务类别
[Service]
Type=forking											#后台运行方式
PIDFile=/usr/local/httpd/logs/httpd.pid					#PID文件位置
ExecStart=/usr/local/bin/apachectl $OPTIONS				#启动服务
ExecReload=/bin/kill -HUP $MAINPID						#根据PID重载配置
[Install]
WantedBy=multi-user.target

systemctl start httpd.service
systemctl enable httpd.service

Insérez la description de l'image ici
Insérez la description de l'image ici

7. Modifiez le fichier de configuration du service httpd

vim /etc/httpd.conf
--52行--修改
Listen 192.168.126.10:80
--197行--取消注释,修改
ServerName www.kgc.com:80

--221行--默认首页存放路径
DocumentRoot "/usr/local/httpd/htdocs"
--255行--默认首页文件名设置
DirectoryIndex index.html

httpd -t  或 apachectl -t			#检查配置文件的配置项是否有误
cat /usr/local/httpd/htdocs/index.html
systemctl restart httpd.service

Insérez la description de l'image ici
Insérez la description de l'image ici

8. Vérification de l'accès au navigateur

echo "192.168.126.10 www.kgc.com" >> /etc/hosts

http://192.168.12610
http://www.kgc.com

Insérez la description de l'image ici

Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

Troisièmement, compilez et installez le service mysqld

1. Transférez les packages logiciels nécessaires pour installer mysql dans le répertoire / opt

mysql-5.7.17.tar.gz
boost_1_59_0.tar.gz		#支持c++的运行库

Insérez la description de l'image ici
Insérez la description de l'image ici

2. Packages dépendants de l'environnement d'installation

yum -y install \
gcc \
gcc-c++ \
ncurses \				#字符终端下图形互动功能的动态库
ncurses-devel \			#ncurses开发包
bison \					#语法分析器
cmake					#mysql需要用cmake编译安装

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake

Insérez la description de l'image ici

3. Configurer le module logiciel

tar zxvf mysql-5.7.17.tar.gz
tar zxvf boost_1_59_0.tar.gz

cd /opt
mv boost_1_59_0 /usr/local/boost		#重命名

cd /opt/mysql-5.7.17/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=/usr/local/boost \
-DWITH_SYSTEMD=1

Insérez la description de l'image ici
Insérez la description de l'image ici

Options du moteur de stockage:
Les moteurs MYISAM, MERGE, MEMORY et CSV sont compilés dans le serveur par défaut et n'ont pas besoin d'être installés explicitement.
Pour compiler de manière statique un moteur de stockage sur le serveur, utilisez -DWITH_engine_STORAGE_ENGINE = 1. Les
valeurs de moteur de stockage disponibles sont: ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support) et PERFSCHEMA (Performance Schema)

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧

4. Compilez et installez

make -j 2 && make install

Insérez la description de l'image ici

需要长时间等待,-j 2 表示使用两个核进行编译

5. Créez un utilisateur mysql

useradd -M -s /sbin/nologin  mysql

Insérez la description de l'image ici

6. Modifiez le fichier de configuration mysql

vim /etc/my.cnf								#删除原配置项,再重新添加下面内容
[client]									#客户端设置
port = 3306
socket=/usr/local/mysql/mysql.sock			
 
[mysqld]									#服务全局设置
user = mysql       							#设置管理用户
basedir=/usr/local/mysql					#指定数据库的安装目录
datadir=/usr/local/mysql/data				#指定数据库文件的存储路径
port = 3306									#指定端口
character-set-server=utf8					#设置服务器字符集编码格式为utf8
pid-file = /usr/local/mysql/mysqld.pid		#指定pid 进程文件路径
socket=/usr/local/mysql/mysql.sock			#指定数据库连接文件
bind-address = 0.0.0.0						#设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开
skip-name-resolve							#禁用DNS解析
max_connections=2048						#设置mysql的最大连接数
default-storage-engine=INNODB				#指定默认存储引擎
max_allowed_packet=16M						#设置数据库接收的数据包大小的最大值
server-id = 1								#指定服务ID号
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

Les valeurs courantes de sql_mode sont les suivantes:
NO_ENGINE_SUBSTITUTION
Si le moteur de stockage requis est désactivé ou n'est pas compilé, une erreur est générée. Lorsque cette valeur n'est pas définie, remplacez-la par le moteur de stockage par défaut et lancez une exception

STRICT_TRANS_TABLES
Dans ce mode, si une valeur ne peut pas être insérée dans une table de transaction, l'opération en cours est interrompue et il n'y a aucune restriction sur les tables non transactionnelles

NO_AUTO_CREATE_USER
interdit à GRANT de créer des utilisateurs avec des mots de passe vides

NO_AUTO_VALUE_ON_ZERO
La colonne auto-incrémentée dans mysql peut commencer à partir de 0. Par défaut, la colonne auto-croissante commence à 1, si vous insérez des données avec une valeur de 0, une erreur sera signalée

NO_ZERO_IN_DATE
ne permet pas que la date et le mois soient à zéro

NO_ZERO_DATE la
base de données mysql ne permet pas d'insérer une date zéro, l'insertion d'une date zéro provoquera une erreur au lieu d'un avertissement

ERROR_FOR_DIVISION_BY_ZERO
Pendant INSERT ou UPDATE, si les données sont divisées par zéro, une erreur est générée à la place d'un avertissement. Par défaut, MySQL renvoie NULL lorsque les données sont divisées par zéro

PIPES_AS_CONCAT
considère "||" comme un opérateur de concaténation de chaînes au lieu d'un opérateur OR, qui est identique à la base de données Oracle et similaire à la fonction de concaténation de chaînes Concat

ANSI_QUOTES Après avoir
activé ANSI_QUOTES, vous ne pouvez pas utiliser de guillemets doubles pour citer une chaîne car elle est interprétée comme un identifiant

Insérez la description de l'image ici

7. Changez le groupe de propriétaires du répertoire d'installation et du fichier de configuration mysql

chown -R mysql:mysql /usr/local/mysql
chown mysql:mysql /etc/my.cnf

Insérez la description de l'image ici

8. Définissez la variable d'environnement de chemin

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile	
source /etc/profile

Insérez la description de l'image ici

9. Initialisez la base de données

cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \				#生成初始化密码为空
--user=mysql \                      #指定管理用户
--basedir=/usr/local/mysql \        #指定数据库的安装目录
--datadir=/usr/local/mysql/data		#指定数据库文件的存储路径

./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data

Insérez la description de l'image ici

10. Ajouter le service système mysqld

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/		#用于systemctl服务管理
systemctl daemon-reload         #刷新识别     
systemctl start mysqld.service  #开启服务
systemctl enable mysqld         #开机自启动
netstat -anpt | grep 3306       #查看端口

Insérez la description de l'image ici

11. Modifiez le mot de passe de connexion mysql

mysqladmin -u root -p password "abc123" 	#给root账号设置密码为abc123,提示输入的是原始密码(为空)

12. Autoriser la connexion à distance

mysql -u root -p
grant all privileges on *.* to 'root'@'%' identified by 'abc123';
#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限

show databases;			#查看当前已有的数据库

Insérez la description de l'image ici

Quatre, compilez et installez l'environnement d'analyse PHP

1. Transférez les packages logiciels requis pour installer PHP dans le répertoire / opt

php-7.1.10.tar.bz2

Insérez la description de l'image ici

2. Installez la bibliothèque GD et les programmes liés à la bibliothèque GD pour traiter et générer des images

yum -y install \
gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel

Insérez la description de l'image ici

3. Configurer le module logiciel

cd /opt
tar jxvf php-7.1.10.tar.bz2
cd /opt/php-7.1.10/

Insérez la description de l'image ici


./configure \
--prefix=/usr/local/php7 \							#指定将 PHP 程序的安装路径
--with-apxs2=/usr/local/httpd/bin/apxs \			#指定Apache httpd服务提供的apxs 模块支持程序的文件位置
--with-mysql-sock=/usr/local/mysql/mysql.sock \		#指定mysql 数据库连接文件的存储路径
--with-config-file-path=/usr/local/php7				#设置 PHP 的配置文件 php.ini 将要存放的位置
--with-mysqli \										#添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定
--with-zlib \										#支持zlib功能,提供数据压缩
--with-curl \										#开启curl扩展功能,实现HTTP的Get下载和Post请求的方法
--with-gd \											#激活gd 库的支持
--with-jpeg-dir \									#激活jpeg 的支持
--with-png-dir \									#激活png 的支持
--with-freetype-dir \
--with-openssl \
--enable-mbstring \									#启用多字节字符串功能,以便支持中文等代码
--enable-xml \										#开启扩展性标记语言模块
--enable-session \									#会话
--enable-ftp \										#文本传输协议
--enable-pdo \										#函数库
--enable-tokenizer \								#令牌解释器
--enable-zip										#ZIP压缩格式

./configure \
--prefix=/usr/local/php7 \
--with-apxs2=/usr/local/httpd/bin/apxs \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-config-file-path=/usr/local/php7 \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

Insérez la description de l'image ici

4. Compilez et installez

make && make install

Insérez la description de l'image ici

5. Copiez le fichier modèle comme fichier de configuration principal de PHP et modifiez-le

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini	
#在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件

vim /usr/local/php7/php.ini
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai

Insérez la description de l'image ici

6. Optimiser pour mettre les fichiers de programme exécutables PHP dans le répertoire de la variable d'environnement de chemin pour une identification facile du système

ln -s /usr/local/php7/bin/* /usr/local/bin/
php -m 			#查看PHP 加载了哪些模块

Insérez la description de l'image ici

7. Modifiez le fichier de configuration du service httpd pour permettre à Apache de prendre en charge PHP

vim /etc/httpd.conf 
--393行--插入以下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
--256行--修改首页文件名设置
DirectoryIndex index.html index.php

---检查支持php7的模块是否存在------
LoadModule php7_module        modules/libphp7.so

Insérez la description de l'image ici

Insérez la description de l'image ici
Insérez la description de l'image ici

8. Vérifiez la page de test PHP

rm -rf /usr/local/httpd/htdocs/index.html
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>

systemctl restart httpd.service

浏览器访问
http://192.168.184.10

Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

Je suppose que tu aimes

Origine blog.csdn.net/weixin_51573771/article/details/112289833
conseillé
Classement