lamp环境配置详细操作步骤

本文详细介绍了在CentOS系统上配置LAMP环境的步骤,包括Apache的编译安装,MySQL的安装,以及PHP的编译安装,并提到了phpmyadmin的部署,涵盖了从Apache的端口配置到PHP的错误报告设定等一系列关键环节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache编译安装

一,需要软件:

  1. apr-1.5.1.tar.gz
  2. apr-util-1.5.4.tar.gz
  3. pcre-8.20.tar.zip
  4. httpd-2.4.10.tar.gz

二,安装apr

yum install gcc gcc-c++ libtools zlib zlib-devel make -y
tar zxf apache/apr-1.5.1.tar.gz  
cd ./apache/apr-1.5.1  
./configure --prefix=/usr/local/apr  
make && make install

三,安装apr-util

tar zxf apr-util-1.5.4.tar.gz  
cd  apr-util-1.5.4  
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr  
make && make install

四,安装pcre库

tar zxf pcre-8.20.tar.gz  
cd pcre-8.20  
./configure --prefix=/usr/local/pcre
make && make install

五,安装Apache服务器

tar zxf  httpd-2.4.10.tar.gz  
cd httpd-2.4.10  
./configure--prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre  —enable-so —enable-rewrite
make && make install

安装完成后进入/usr/local/apache目录下,检查是否有如下文件

bin build cgi-bin error htdocs icons include logs man manual
modules

六,配置Apache

vi /usr/local/apache/conf/httpd.conf

修改条目如下:
#把ServeName www.example.com:80改成以下
ServerName localhost:80

centos7开启80端口:

firewall-cmd --permanent --add-port=80/tcp
--add-port=80/tcp  #添加端口,格式为:端口/通讯协议
--permanent   #永久生效,没有此参数重启后失效
重启防火墙
systemctl restart firewalld.service #重启
systemctl stop firewalld.service  #关
systemctl start firewalld.service #开

查看已经开放的端口:

firewall-cmd --list-ports

CentOS6.5 开启防火墙方法
vi /etc/sysconfig/iptables 打开配置文件加入如下语句:

 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT  

 service iptables restart    #重启防火墙,修改生效

netstat -ntlp #列出所有端口 

7、设置Apache为Linux服务并实现开机自启动

cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd
 vi /etc/rc.d/init.d/httpd         

注:—在文件开头加上下面2句(注:第一行3个数字参数意义分别为:哪些Linux级别需要启动httpd(3,4,5);启动序号(85);关闭序号(15))
在第一行下添加如下三行文字

 Comments to support chkconfig on RedHat Linux
 chkconfig: 2345 90 90
 description:http server

注册该服务

chkconfig --add httpd  #所有开机模式下自启动
chkconfig httpd on  #345开机模式下自启动

apache安装完成

service httpd start       #开启apache
service httpd stop        #停止apache
service httpd restart     #重启apache

二、MYSQL安装

安装编译软件、安装MySQL相关依赖包

yum install -y cmake ncurses-devel openssl-devel bison-devel libaio libaio-devel

创建MySQL安装目录
如MySQL安装目录为:/usr/local/mysql

mkdir -p /usr/local/mysql
mkdir -p /usr/local/mysql/data

创建用户组

groupadd mysql

创建mysql用户,所属组为mysql

useradd -s /bin/bash -m -g mysql mysql #创建的目录的所属用户与所属组为mysql:mysql
chown -R mysql:mysql /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/data

解压MySQL源码包

tar -zxvf mysql-5.6.25.tar.gz

开始安装

解压缩之后进入,mysql5.6起都是通过cmake的方式进行配置的,可以直接采用默认的方式cmake
.就能直接进入配置,也可以自己指定配置,下面自己执行配置,修改一些常规的mysql配置井号#后面是注释

[root@localhost mysql-5.6.25]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1

参数说明

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #指定安装目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock #指定mysql.sock地址
-DDEFAULT_CHARSET=utf8 #指定默认的字符集
-DDEFAULT_COLLATION=utf8_general_ci #指定默认的排序字符集
-DWITH_INNOBASE_STORAGE_ENGINE=1 #安装innodb存储引擎
-DWITH_MYISAM_STORAGE_ENGINE=1 \安装myisam存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \安装archive存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \安装blackhole存储引擎
-DMYSQL_DATADIR=/usr/local/mysql/data #mysql数据文件存放目录
-DMYSQL_TCP_PORT=3306 #端口
-DENABLE_DOWNLOADS=1

配置之后,可能会出现错误
要是出现错误要删除掉CMakeCache.txt重新cmake

[root@localhost mysql-5.6.25]# rm -rf CMakeCache.txt

cmake之后没报错,直接执行make&& make install

安装数据文件

mysql安装完成之后需要安装文件,在mysql的安装目录下的scripts文件夹里可以看到mysql_install_db,用来安装mysql数据文件,指定mysql用户
进入安装好后的mysql文件夹

cd /usr/local/mysql
[root@localhost mysql]# ls /usr/local/mysql/scripts/
mysql_install_db
[root@localhost mysql]# scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

复制mysql安装目录下的support-files文件夹中的my-default.cnf配置文件到/etc/my.cnf即可

[root@localhost support-files]# cp my-default.cnf /etc/my.cnf

如果存在直接覆盖就好了,这里最好把/etc/my.cnf改变下所有者

环境变量的配置,便于使用

将mysql服务启动放在/etc/init.d/下

[root@localhost support-files]# cp mysql.server /etc/init.d/mysqld

将/usr/local/mysql/bin/目录添加到环境变量中,vim编辑vim
/etc/profile永久添加环境变量(在最后面添加下面内容)

export PATH=$PATH:/usr/local/mysql/bin

执行下面的命令使所做的更改生效

[root@localhost mysql]# . /etc/profile         # 点后有空格

登录mysql

[root@localhost mysql]# mysql -uroot

第一次登陆不需要密码,需要通过mysqladmin设置root登录密码

[root@localhost mysql]# /usr/local/mysql/bin/mysqladmin -uroot password '111111'

再登录mysql

Mysql -uroot -p
#输入密码
Mysql 开启 重启
service mysql start          #开启mysql
service mysql stop          #关闭mysql
service mysql restart       #重启mysql

PHP编译安装

安装php依赖库

yum install -y glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel gettext gettext-devel curl curl-devel zip unzip e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers libtool libtool-libs gmp-devel pspell-devel parted perl mod_perl-devel

编译安装LIBJPEG

tar zxf jpegsrc.v9a.gz 

cd jpeg-9a/ 

./configure –prefix=/usr/local/libjpeg –enable-shared –enable-static 

make && make install 

编译安装LIBPNG

tar zxf libpng-1.6.15.tar.gz 

cd libpng-1.6.15 

./configure –prefix=/usr/local/libpng

make && make install 

编译安装FREETYPE

tar zxf  freetype-2.5.4.tar.gz 

cd freetype-2.5.4 

./configure=/usr/local/freetype 

make && make install

编译安装LIBGD

tar -zxvf libgd-2.1.0.tar.gz 

cd libgd-2.1.0 

#configure时不要指定prefix了,编译PHP时会出错 

./configure  –with-jpeg=/usr/local/libjpeg –with-png=/usr/local/libpng –with-freetype=/usr/local/freetype –with-zlib 

make && make install

编译安装LIBCRYMPT

tar zxf libmcrypt-2.5.7.tar.gz 

cd libmcrypt-2.5.7 

./configure –prefix=/usr/local/libmcrypt 

make && make install

编译安装LIBXML2

tar zxf libxml2-2.9.2.tar.gz 

cd libxml2-2.9.2 

./configure –prefix=/usr/local/libxml2 

make && make install 

编译安装PHP

tar -zxvf php-5.6.31.tar.gz #解压php
cd php-5.6.31

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --enable-calendar --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir=/usr/local/freetype --with-jpeg-dir=/usr/local/libjpeg --with-png-dir=/usr/local/libpng --with-zlib --with-libxml-dir=/usr/local/libxml2 --with-curl --with-gd --enable-gd-native-ttf --with-gettext --with-mhash --enable-zip --enable-pdo --enable-fpm --enable-sockets --enable-xml --enable-mbstring --enable-bcmath  --without-pear

make && make install

注:让所有用户显示行号 输入命令:vim /etc/vimrc 在vimrc文件的最后添加:set nu 保存:wq
手动加载配置:source /etc/bashrc 这样不管是哪个用户在vim下都显示行号

将apache与php建立关联关系

修改php配置文件php.ini
到源码包的目录下复制一个php.ini-development或者php.ini-production到php的配置文件所在目录,并改名为php.ini。
php配置文件目录:编译的时候没有指定–with-config-file-dir,则默认放在在php根目录下的lib目录下(例如:php安装在/usr/local/php/目录,则放在/usr/local/php/lib/目录下)由于上面安装时指定了–with-config-file-path=/usr/local/php/etc,所以把复制一个php.ini-development或者php.ini-production到/usr/local/php/etc

[root@localhost php-5.6.21]# cp php.ini-development /usr/local/php/etc/php.ini

php5默认<?php echo date("Y-m-d H:i:s");?>时间与北京时间相差八小时(少八小时)
为什么呢?PHP5系列版本新增了时区设置,默认为格林威治时间,与中国所在的东8区正好相差8个小时

[root@localhost php-5.6.21]# vim /usr/local/php/etc/php.ini

查找 ;date.timezone = 将;去掉,并修改成 date.timezone = PRC
除了E_NOTICE类型的错误(Notice)不报告,其他的都报告,查找 error_reporting = E_ALL 改成
error_reporting = E_ALL & ~E_NOTICE 使 include 等可以包含域外网页如 include_once
http://www.126.com”; 找到 allow_url_include = Off 改成 allow_url_include
= On

修改apache配置文件httpd.conf 一大堆LoadModule下面 添加
#加载PHP处理模块 LoadModule php5_module modules/libphp5.so
#添加PHP等后缀的处理,添加到最后一行 AddType application/x-httpd-php .php

如果服务器有任何问题将通知的邮箱地址

修改 ServerAdmin you@example.com 改成 ServerAdmin 302929314@qq.com

配置服务器名称

本机ip为192.168.1.143,如果DNS未配置,此段语句要放在配置文件开头处

修改 ServerName www.example.com:80

改成 ServerName 192.168.155.128:80 或ServerName localhost:11080

修改 DirectoryIndex index.html

改成 DirectoryIndex index.php index.html

禁止Apache显示目录索引
要实现禁止Apache显示目录索引,只需将 Option 中的 Indexes 去掉即可。
修改目录配置,代码如下:

<Directory "D:/Apache/blog.phpha.com">
Options Indexes FollowSymLinks   # 修改为: Options  FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

只需要将上面代码中的 Indexes 去掉,就可以禁止 Apache
显示该目录结构。用户就不会看到该目录下的文件和子目录列表了。Indexes 的作用就是当该目录下没有 index.html
文件时,就显示目录结构,去掉 Indexes ,Apache 就不会显示该目录的列表了。

修改apache的启动用户及部署根目录

新建apache用户 useradd apache passwd apache

修改apache的启动用户

#User daemon
#Group daemon

User apache

Group apache

新建网站根目录

[apache@localhost ~]$ mkdir apache-htdocs

修改apache网站部署的根目录

#DocumentRoot “/usr/local/apache/htdocs”

DocumentRoot “/home/apache/apache-htdocs”

<Directory “/home/apache/apache-htdocs”>

增加扩展动态目录配置

修改php.ini配置增加如下一行

extension_dir = “/usr/local/php/lib/php/extensions/no-debug-zts-20131226/”

安装phpmyadmin

下载phpmyadmin放到网站目录下就可

至此安装lamp环境结束

后续:

安装相关扩展库-具体安装请见其它文档

将前面的;去掉使PHP支持mysql,并且配置时要指定–with-mysql的值,如果之前安装时未配置,需要重新配置,编译,安装

;extension=php_mysql.dll

要使用phpmyadmin或mysqli函数打开,并且配置时要指定–with-mysqli的值,如果之前安装时未配置,需要重新配置,编译,安装

;extension=php_mysqli.dll

要PHP支持png,jpg,gif等(phpcmsV9必须)打开

;extension=php_gd2.dll

大字符集,支持多字符集之间的转换打开

;extension=php_mbstring.dll

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值