部署LAMP平台
Posted 袁❈晔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署LAMP平台相关的知识,希望对你有一定的参考价值。
首先安装Apache,下面是要解压的安装包:
tar xf apr-1.6.2.tar.gz
tar xf apr-util-1.6.0.tar.gz
tar xf httpd-2.4.29.tar.bz2
mv apr-1.6.2 httpd-2.4.29/srclib/apr
mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
后面两步为移动解压包目录:
- 移动解包包至 httpd-2.4.48/srclib目录下重命名apr
- 移动解包包至 httpd-2.4.48/srclib目录下重命名apr-util
然后yum安装环境:必须预先安装gcc、gcc-c++和make
yum -y install gcc gcc-c++ make pcre-devel expat-devel perl
- gcc:C语言的编译器
- gcc-c++:C++的编译器
- make:源代码编译器(源代码转换成二进制文件)
- pcre:pcre是一个Perl函数库,包括perl 兼容的正则表达式库
- pcre-devel:perl的接口开发包
- expat-devel:用于支持网站解析html、XML文件
- perl:perl语言编译器
然后上传httpd,配置和检查环境:
cd /opt/httpd-2.4.29/
./configure --prefix=/usr/local/httpd\\
--enable-so \\
--enable-rewrite \\
--enable-charset-lite \\
--enable-cgi
make && make install //编译和安装
然后优化配置文件路径,并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别:
ln -s /usr/local/httpd/conf/httpd.conf /etc/
ln -s /usr/local/httpd/bin/* /usr/local/bin/
/etc/init.d/ : service 可以识别服务启动脚本的目录位置
/usr/lib/systemd/system/ :则是systemctl 命令可以识别的服务启动脚本的目录位置
把httpd的命令apache 复制到service下面,便于service管理:
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
vim /etc/init.d/httpd
添加两行内容,加上注释:
systemctl enable
chkconfig --add httpd //将httpd加入到系统管理器
使其可使用service或者systemctl进行管理
vim /usr/local/httpd/conf/httpd.conf
默认首页存放路径:
默认首页文件名设置:
wq保存
httpd -t //#检查语法
service httpd restart
netstat -anpt | grep 80
下面安装mysql:
yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake autoconf
- ncurses:字符终端下图形互动功能的动态库
- ncurses-devel:ncurses开发包
- bison:语法分析器
- cmake:mysql需要用cmake编译安装
- autoconf:是一个用于生成可以自动配置软件源代码包以适应多种unix类系统的shell脚本工具
tar xzvf mysql-5.6.26.tar.gz -C /opt
cd mysql-5.6.26
cmake \\
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \\
-DDEFAULT_CHARSET=utf8 \\ #指定默认使用的字符集编码,如 utf-8
-DDEFAULT_COLLATION=utf8_general_ci \\ #指定默认使用的字符集校对规则
-DEXTRA_CHARSETS=all \\ #指定支持其他字符集编码
-DSYSCONFIDIR=/etc \\ #/etc/mysql --->系统中有一个默认的配置/etc/my.cnf
-DMYSQL_DATADIR=/home/mysql/ \\ #数据文件
-DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock #指定连接数据库的通讯文件
make && make install
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chkconfig --add /etc/init.d/mysqld
chkconfig mysqld --level 35 on
systemctl enbale mysqld
注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧。
创建普通用户管理mysql:
useradd -s /sbin/nologin mysql
chown -R mysql:mysql /usr/local/mysql/
更改管理主/组:
chown mysql:mysql /etc/my.cnf
设置环境变量,申明/宣告mysql命令便于系统识别:
echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
初始化数据库:
/usr/local/mysql/scripts/mysql_install_db \\
--user=mysql \\
--ldata=/var/lib/mysql \\
--basedir=/usr/local/mysql \\
--datadir=/home/mysql
vim /etc/init.d/mysqld
service mysqld start
netstat -anpt | grep 3306
给root账号设置密码:
mysqladmin -u root -p password "abc123"
然后安装php
php 处理动态请求,在此处他是一个后台的代码程序,不是一个服务(所以不需要启动脚本)
yum -y install \\
gd \\ #图像化处理的库
libpng \\ #png格式图片的库
libpng-devel \\
pcre \\ #PCRE库支持正则表达式
pcre-devel \\ #pcre-devel是使用PCRE做二次开发时所需要的开发库,也是编译安装需要的
libxml2-devel \\ #解析xml标记语言的库
libjpeg-devel #jpeg格式图片的库
cd /opt
tar xjvf php-5.6.11.tar.bz2
cd php-5.6.11
./configure \\
--prefix=/usr/local/php5 \\
--with-gd \\ #激活gd 库的支持
--with-zlib \\ #支持zlib功能,提供数据压缩功能的函式库
--with-apxs2=/usr/local/httpd/bin/apxs \\ #指定httpd服务提供的apxs模块支持程序的文件位置
#用于指定Apache可以加载/识别对应的功能模块,此处可以让php服务模块直接提供给apache加载使用
--with-mysql=/usr/local/mysql \\ #关联数据库
--with-config-file-path=/usr/local/php5 \\ #指定配置文件
--enable-mbstring #启用多字节字符串功能,以便支持中文等代码
make && make install
优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别:
ln -s /usr/local/php5/bin/* /usr/local/bin/
修改Apache配置文件让Apache支持PHP:
vim /etc/httpd.conf
添加以下内容:
让Apache可以支持.php的网页文件:
创建、编辑php页面文件:
vim /usr/local/httpd/htdocs/index.php
<?php
phpinfo();
?>
重启服务:
service httpd stop
service httpd start
然后我这里第一次做时出现了一个报错:
经过检查发现是上面listen 80端口未注释掉:
在网页测试“http://192.168.220.30/index.php”
下面安装了一个论坛(版本较老)
mysql> CREATE DATABASE bbs; //创建一个数据库//
mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123'; //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码// 所有访问来源/渠道
mysql> GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
mysql>flush privileges; //刷新数据库//
unzip /opt/lamp/Discuz_X2.5_SC_UTF8.zip -d /opt/dis
cd /opt/dis
cp -r upload/ /usr/local/httpd/htdocs/bbs
cd /usr/local/httpd/htdocs/bbs
chown -R daemon ./config
chown -R daemon ./data
chown -R daemon ./uc_client
chown -R daemon ./uc_server/data
以上是关于部署LAMP平台的主要内容,如果未能解决你的问题,请参考以下文章