Maison > développement back-end > tutoriel php > Créez le meilleur environnement LAMP sous CentOS5.5

Créez le meilleur environnement LAMP sous CentOS5.5

黄舟
Libérer: 2023-03-06 16:10:02
original
1320 Les gens l'ont consulté

Cet article explique la configuration d'un environnement PHP dans un système Linux. Puisque PHP est écrit en langage C et exécuté à l'origine sur un système Linux, Linux est le meilleur environnement pour PHP.

L'auteur de cet article a testé CentOS 5.5 installé sur une machine virtuelle (VMware). Instructions d'installation détaillées ci-dessous

1. Préparation

1. Veuillez d'abord confirmer si le système Linux que vous installez a été installé Apache , MySQL et PHP sont installés. S'ils sont installés, veuillez d'abord les désinstaller.

Vérifiez s'il est installé (Apache est un exemple)

[root@gamejzy Linux]# rpm -qa|grep httpd
Copier après la connexion

Remarque : rpm -qa sert à vérifier tous les logiciels installés sur la machine. grep httpd consiste à filtrer les logiciels liés à httpd (Apache). Remarque : grep php doit afficher PHP ; grep mysql doit afficher MySQL

Si rien n'apparaît après l'exécution de la commande, cela signifie que le logiciel Apache n'est pas installé sur la machine. Si quelque chose comme ce qui suit apparaît, cela signifie. signifie qu'il a été installé.

Si le résultat est comme indiqué dans l'image ci-dessus, vous devez alors désinstaller les trois logiciels.

La commande de désinstallation est la suivante :

[root@gamejzy Linux]# rpm -e httpd-2.2.3-43.el5.centos --nodeps
Copier après la connexion

Remarque : --nodeps est une désinstallation forcée

2. Veuillez vous assurer que gcc et g sont installés dans votre compilateur système Linux

Vérifier s'il est installé est très simple Tapez "gc" ou "g" dans la ligne de commande, appuyez sur la touche de tabulation et voyez s'il y a une commande affichée ci-dessous. .

Peu importe si vous ne l'avez pas, la méthode d'installation de gcc et g est très simple

Installez gcc :

yum -y install gcc
Copier après la connexion

Installez g :

yum install gcc-c++
Copier après la connexion


3. Copiez tous les packages logiciels (principalement des packages tar) dans /tmp/lamp et décompressez la commande tar.gz (logiciel php par exemple) :tar zxvf php. -5.2.6.tar.gz

Après avoir exécuté cette commande, un dossier php-5.2.6 sera créé dans le répertoire courant, et tous les fichiers décompressés seront placés dans le répertoire php-5.2 Dossier .6

Veuillez suivre la même méthode pour décompresser tous les packages et supprimer tous les fichiers *.tar.gz

La commande ci-dessus supprime tous les fichiers .gz

[root@gamejzy lamp]# rm -rf *.gz
Copier après la connexion

4. Introduction à la compilation et à l'installation des progiciels

Le processus d'installation de chaque progiciel de code source dans le système Linux est le suivant :

△ Configurer (configurer)

△ Compiler (make)

△ Installer (make install)

2. Créez un environnement LAMP (veuillez suivre les instructions ci-dessous Installez dans l'ordre )

Tous les logiciels ici sont installés sous /usr/local


1 Installer libxml

Installation. séquence : 1. Entrez le répertoire libxml ; 2. Paramètres de configuration (y compris le chemin d'installation ; logiciels dépendants ; fonctions d'installation, etc.) ; Remarque : L'installation de tous les progiciels est similaire à

./configure est la commande de paramètre pour configurer le progiciel --prefix indique le répertoire d'installation spécifié s'il est automatiquement créé. n'existent pas. Certains d'entre eux n'existeront pas. Nous avons besoin de créer manuellement

[root@gamejzy lamp]# cd libxml2-2.6.30/
[root@gamejzy libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
Copier après la connexion

La commande ci-dessus consiste à exécuter la compilation et l'installation ensemble. Étant donné que le logiciel est petit, la vitesse d'installation est relativement rapide pour les gros logiciels. , cela peut prendre plus de temps.

[root@gamejzy libxml2-2.6.30]# make && make install
Copier après la connexion

2. Installez libmcrypt

3. Installez zlib
[root@gamejzy lamp]# cd libmcrypt-2.5.8/
[root@gamejzy libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
[root@gamejzy libmcrypt-2.5.8]# make && make install
Copier après la connexion

./configure Ne suivez pas . Paramètre --prefix pour l'installer dans le répertoire par défaut, car zlib sera utilisé lors de l'installation de libpng.

[root@gamejzy lamp]# cd zlib-1.2.3/
[root@gamejzy zlib-1.2.3]# ./configure
[root@gamejzy zlib-1.2.3]# make && make install
Copier après la connexion

4. Installez libpng

5. Installez jpeg6
[root@gamejzy lamp]# cd libpng-1.2.31/
[root@gamejzy libpng-1.2.31]# ./configure --prefix=/usr/local/libpng
[root@gamejzy libpng-1.2.31]# make && make install
Copier après la connexion

Ce logiciel ne sera pas automatiquement créé lors de la configuration. Annuaire, nous devons créer manuellement

et la génération de l'annuaire est terminée !

[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/bin
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/lib
[root@gamejzy libpng-1.2.31]# mkdir /usr/local/jpeg6/include
[root@gamejzy libpng-1.2.31]# mkdir -p  /usr/local/jpeg6/man/man1
Copier après la connexion

./configure description du paramètre :

[root@gamejzy lamp]# cd jpeg-6b/
[root@gamejzy jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
[root@gamejzy jpeg-6b]# make && make install
Copier après la connexion
--enable-shared libtool de GNU utilisé pour créer des bibliothèques partagées

--enable-static utilisé pour créer des bibliothèques statiques GNU libtool

6. Installez freetype

7. Installez le logiciel autoconf
[root@gamejzy lamp]# cd freetype-2.3.5/
[root@gamejzy freetype-2.3.5]# ./configure --prefix=/usr/local/freetype
[root@gamejzy freetype-2.3.5]# make && make install
Copier après la connexion

Installez directement dans le répertoire par défaut.

[root@gamejzy lamp]# cd autoconf-2.61/
[root@gamejzy autoconf-2.61]# ./configure
[root@gamejzy autoconf-2.61]# make && make install
Copier après la connexion

8. Installez GD

./configure la description du paramètre :

[root@gamejzy lamp]# cd gd-2.0.35/
[root@gamejzy gd-2.0.35]# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype/
[root@gamejzy gd-2.0.35]# make && make install
Copier après la connexion
--with-jpeg=/usr/local/jpeg6 / Spécifiez où trouver l'emplacement du fichier de la bibliothèque jpeg

--with-png=/usr/local/libpng/ Spécifiez où trouver l'emplacement du fichier de la bibliothèque png

--with-freetype=/usr/ local /freetype/ Spécifie où trouver l'emplacement de la bibliothèque de polices freetype 2.x



Remarque

Les erreurs suivantes peuvent se produire lors de l'installation de ce package, comme indiqué dans la figure ci-dessous :

Si une telle erreur se produit, la solution :

Trouver le mot-clé "png.h" commande : /png. h et appuyez sur Entrée

[root@gamejzy gd-2.0.35]# vi gd_png.c
Copier après la connexion
Remplacé par :/usr/local/libpng/include/png.h

L'effet est le suivant :

保存退出,继续执行"make && make install" 执行即可安装成功。

九、安装Apache(关键)

[root@gamejzy lamp]# cd httpd-2.2.9/
[root@gamejzy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support
[root@gamejzy httpd-2.2.9]# make && make install
Copier après la connexion

./configure 中的参数说明:

--sysconfdir=/etc/httpd 指定Apache服务器的配置文件(httpd.conf等文件)存放位置
--with-included-apr 使用捆绑APR/APR-Util的副本
--enable-so 以动态共享对象(DSO)编译
--enable-deflate=shared 缩小传输编码的支持
--enable-expires=shared 期满头控制
--enable-rewrite=shared 基于规则的URL操控
--enable-static-support 建立一个静态链接版本的支持

测试 Apache 服务器

1、检查 /usr/local/ 下是否出现 apache2 目录;

2、检查 /etc/ 目录下面是否出现 httpd 目录,即里面是否有 httpd.conf 文件、extra目录等内容

3、开启 apache 服务器

[root@gamejzy httpd]# /usr/local/apache2/bin/apachectl start
Copier après la connexion

stop(关闭)、restart(重启)

4、查看 apache 服务器是否启动,即查看 80 端口是否启动

[root@gamejzy httpd]# netstat -tnl|grep 80
Copier après la connexion

执行完命令,出现如下所示,表示已经启动

tcp 0 0 :::80 :::* LISTEN

5、在浏览器中访问

如果在本机的话,请在浏览器地址栏中输入:localhost 或127.0.0.1

如果是远程连接的话,比如:SSH连接,那么请在浏览器地址栏中输入 Linux 的 ip 地址。比如:192.168.1.233

若网页中出现大字“

It works!

”说明 Apache 安装成功。

测试完毕!

添加 Apache 每次开机自动启动

[root@gamejzy /]# echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local
Copier après la connexion

十、安装MySQL(重要)

安装 MySQL 之前先建立一个专门管理 MySQL 的组和用户名

建立一个组名叫“mysql”

[root@gamejzy /]# groupadd mysql
Copier après la connexion

建立一个用户名叫“mysql”,让他属于“mysql”组

[root@gamejzy /]# useradd -g mysql mysql
Copier après la connexion
[root@gamejzy lamp]# cd mysql-5.0.41/
[root@gamejzy mysql-5.0.41]# ./configure --prefix=/usr/local/mysql --with-extra-charsets=all
[root@gamejzy mysql-5.0.41]# make && make install
Copier après la connexion

./configure 参数说明:

--with-extra-charsets=all 安装MySQL 所有的字符集

注意 在 ./configure 的时候如果出现如下错误

原因:缺少ncurses安装包。

解决方法:下载安装相应软件包

yum list|grep ncurses
yum -y install ncurses-devel
Copier après la connexion

ncurses安装完成之后,再进行 ./configure 配置!

MySQL安装完成之后,设置一些内容,这些内容非常繁琐,但是又非常关键的,希望大家耐心学习。

1、设置配置文件 my.cnf,放在 /etc/ 目录下

[root@gamejzy mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf
Copier après la connexion

2、初始化数据库文件,安装完 MySQL 之后,并不会出现 MySQL 的数据文件及数据存放位置

首先切换到 MySQL 的安装目录下

[root@gamejzy mysql-5.0.41]# cd /usr/local/mysql/
Copier après la connexion

使用 bin 目录下的 mysql_install_db 进行初始化数据库文件,并使用上面建的 mysql 用户

[root@gamejzy mysql]# bin/mysql_install_db --user=mysql
Copier après la connexion

运行完之后,会发现 MySQL 安装目录中会多一个 var 目录,里面放置的就是数据库文件,包括我们已经建的数据库都会放置在这个目录里面。

3、设置 MySQL 安装目录权限

改变目录下的所有文件和目录的拥有者为 root

[root@gamejzy mysql]# chown -R root .
Copier après la connexion

改变 var 目录的拥有者为 mysql 用户

[root@gamejzy mysql]# chown -R mysql ./var/
Copier après la connexion

改变所有目录和文件的用户组为 mysql 组

[root@gamejzy mysql]# chgrp -R mysql .
Copier après la connexion

4、启动 MySQL

[root@gamejzy mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
Copier après la connexion

& 表示在后台启动

这时,使用 netstat -tnl,如果看见 3306 端口,那么说明启动成功

tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN

5、设置权限,如果我们现在直接使用 bin 目录下的 mysql 命令,那么就能登录

[root@gamejzy mysql]# bin/mysql
Copier après la connexion

这样就太危险了!因此需要设置权限。

先登录进 MySQL 中,使用 SQL 命令删除主机不是“localhost” 的用户名(MySQL 中的用户都mysql库中的user表),只留允许本机登录的账号。

mysql> delete from mysql.user where Host != 'localhost';
Copier après la connexion

刷新授权表

mysql> flush privileges;
Copier après la connexion

设置允许本机进入 MySQL 的 root 用户的密码

mysql> set password for 'root'@'localhost'=password('123456');
Copier après la connexion

注:设置的密码必须记住,不然就进不去 MySQL 数据库了。

到这步的时候,我们的 root 用户,就已经设置了密码(密码为“123456”),我们可以测试一下,键入“exit”退出MySQL

这时登录 MySQL 数据库的命令不能是 bin/mysql 那么简单,应该如下

[root@gamejzy mysql]# bin/mysql -h 127.0.0.1 -u root -p123456
Copier après la connexion

-h 指定主机名

-u 用户名

-p 密码

6、关闭 MySQL 数据库服务器

[root@gamejzy mysql]# bin/mysqladmin -u root -p shutdown
Copier après la connexion

这里的是 root 用户是 MySQL 中的用户,执行后会提示你输入密码,Enter password:

输入密码,回车即可关闭数据库。

启动命令,请看本节4

7、加入到开机默认启动

[root@gamejzy mysql]# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local
Copier après la connexion

十一、安装PHP(重要)

这里我们安装 PHP 的高版本 php-5.3.19,安装参数比较多,请一定注意。

[root@gamejzy lamp]# cd php-5.3.19/
[root@gamejzy php-5.3.19]# ./configure \
> --prefix=/usr/local/php \
> --with-config-file-path=/usr/local/php/etc \
> --with-apxs2=/usr/local/apache2/bin/apxs \
> --with-mysql=/usr/local/mysql/ \
> --with-libxml-dir=/usr/local/libxml2/ \
> --with-png-dir=/usr/local/libpng/ \
> --with-jpeg-dir=/usr/local/jpeg6/ \
> --with-freetype-dir=/usr/local/freetype/ \
> --with-gd=/usr/local/gd2/ \
> --with-mcrypt=/usr/local/libmcrypt/ \
> --with-mysqli=/usr/local/mysql/bin/mysql_config \
> --enable-soap \
> --enable-mbstring=all \
> --enable-sockets
Copier après la connexion

./configure 参数说明:

--with-config-file-path=/usr/local/php/etc 指定PHP5配置文件存入的路径
--with-apxs2=/usr/local/apache2/bin/apxs 告诉PHP查找Apache 2的地方
--with-mysql=/usr/local/mysql/ 指定MySQL的安装目录
--with-libxml-dir=/usr/local/libxml2/ 告诉PHP放置libxml2库的地方
--with-png-dir=/usr/local/libpng/ 告诉PHP放置libpng库的地方
--with-jpeg-dir=/usr/local/jpeg6/ 告诉PHP放置jpeg库的地方
--with-freetype-dir=/usr/local/freetype/ 告诉PHP放置freetype库的地方
--with-gd=/usr/local/gd2/ 告诉PHP放置gd库的地方
--with-mcrypt=/usr/local/libmcrypt/ 告诉PHP放置libmcrypt库的地方
--with-mysqli=/usr/local/mysql/bin/mysql_config 变量激活新增加的MySQLi功能
--enable-soap 变量激活SOAP和Web services支持
--enable-mbstring=all 使多字节字符串支持
--enable-sockets 变量激活socket通讯特性

编译可能出现的问题:

出现如下报错:

解决方法:

cd /usr/local/mysql/lib/mysql/
ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so
Copier après la connexion

编译OK后,出现“Thank you for using PHP.”,说明配置成功。

[root@gamejzy php-5.3.19]# make && make install
Copier après la connexion

编译和安装,时间会比较长,耐心等待吧!

编译完成后,需要以下配置

1、设置 php.ini 配置文件

[root@gamejzy php-5.3.19]# cp php.ini-development /usr/local/php/etc/php.ini
Copier après la connexion

注:/usr/local/php/etc 是在配置的时候指定的位置

2、和 Apache 整合

先打开 Apache 的配置文件 httpd.conf

[root@gamejzy php-5.3.19]# vi /etc/httpd/httpd.conf
Copier après la connexion

会发现文件中有这么条内容

LoadModule php5_module        modules/libphp5.so
Copier après la connexion

这就说明 PHP 已经加载到 Apache 服务器中了,我们所要做的是告诉 Apache 服务器,哪些后缀名使用 PHP 解析

在 vi 编辑器中搜索“AddType application/x-compress .Z”

在后面添加一条:AddType application/x-httpd-php .php

修改后的效果如下图

保存并退出,重启 Apache

[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl stop
[root@gamejzy php-5.3.19]# /usr/local/apache2/bin/apachectl start
Copier après la connexion

3、测试 Apache 服务器是否可以解析 PHP

往 /usr/local/apache2/htdocs 目录下添加一个phpinfo.php 文件,键入以下代码:

<?php
header("Content-Type:text/html;Charset=utf-8");
phpinfo();
?>
Copier après la connexion

打开浏览器,访问该文件,看到如下图所示,说明 PHP 安装成功,并且和 Apache 服务器整合成功。


到此,CentOS 下的 LAMP 环境就搭建完毕了,虽然步骤繁琐,但是“工欲善其事,必先利其器”,花些时间,搭建一个完美的环境是值得的。Créez le meilleur environnement LAMP sous CentOS5.5

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal