部署lamp服务器

系统:CentOS 6.5 64位

部署lamp服务器,出于安全考虑采用源码安装,初步功能完全满足个人编程学习需要,后期安全、负载等性能优化会逐步实现。

1、卸载旧版本软件

rpm -qa | grep mysql                #查询是否已经安装MySQL,如有执行下面的操作将其全部删除
rpm -e mysql --nodeps             #--nodeps选项强制删除,删除所有以MySQL开头的软件
rpm -e mysql-devel
rpm -e mysql-libs --nodeps

rpm -qa | grep httpd                 #查询、卸载安装的Apache
rpm -e httpd --nodeps
rpm -e httpd-tools --nodeps

2、更新系统,并安装基本编译器

yum -y update
yum -y install wget  make  zlib-devel openssl openssl-devel pcre-devel kernel keyutils  patch perl
yum -y install gcc gcc-c++        #基本编译器
yum -y install libXpm-devel       #编译php需要
yum -y install openssl-devel

3、下载源码包

cd /usr/local/src/
mkdir /usr/local/src/dbtools/             #这个目录下的软件主要是安装MySQL使用的
cd /usr/local/src/dbtools/
wget http://ftp.gnu.org/gnu/make/make-4.1.tar.gz
wget http://alpha.gnu.org/gnu/bison/bison-2.7.91.tar.gz
wget http://www.cmake.org/files/v3.2/cmake-3.2.2.tar.gz
wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.24.tar.gz
wget -O m4-1.4.9.tar.gz http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
ls *.tar.gz | xargs -n1 tar xzvf                    #批量解压
cd ..

mkdir -p /usr/local/src/libtools         #这个目录下安装gd及其依赖库以支持php对图片的处理
cd  /usr/local/src/libtools
wget http://xmlsoft.org/sources/libxml2-sources-2.9.2.tar.gz
wget http://mirrors.linuxeye.com/lnmp/src/libmcrypt-2.5.8.tar.gz
wget http://zlib.net/zlib-1.2.8.tar.xz
wget http://ncu.dl.sourceforge.net/project/libpng/libpng16/1.6.17/libpng-1.6.17.tar.gz
wget http://www.ijg.org/files/jpegsrc.v9.tar.gz
wget http://jaist.dl.sourceforge.net/project/freetype/freetype2/2.5.5/freetype-2.5.5.tar.gz
wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz
wget https://codeload.github.com/libgd/libgd/tar.gz/gd-2.1.0
mv gd-2.1.0  gd-2.1.0.tar.gz                                                            #这里下载后的文件后缀不对,改一下名称后缀
ls *.tar.gz | xargs -n1 tar xzvf
cd ..

mkdir -p /usr/local/src/apache_tools
cd /usr/local/src/apache_tools
wget http://mirrors.linuxeye.com/lnmp/src/apr-util-1.5.4.tar.gz
wget http://mirrors.linuxeye.com/lnmp/src/apr-1.5.1.tar.gz
wget http://mirrors.linuxeye.com/lnmp/src/pcre-8.37.tar.gz
wget http://www.apache.org/dist/httpd/httpd-2.4.12.tar.gz
cd ..

mkdir  -p /usr/local/src/php_pack
cd /usr/local/src/php_pack
wget http://mirrors.linuxeye.com/lnmp/src/phpMyAdmin-4.4.7-all-languages.tar.gz
wget  http://mirrors.sohu.com/php/php-5.5.15.tar.gz
#wget http://cn2.php.net/distributions/php-5.4.41.tar.gz
#wget https://codeload.github.com/eaccelerator/eaccelerator/legacy.tar.gz/master                    #php5.5以后的版本不能用这些外在的加速插件了
#mv master eaccelerator-eaccelerator.tar
ls *.tar.gz | xargs -n1 tar xzvf

4、安装gd库及其基本依赖包

cd libxml2-2.9.2/
 ./configure --prefix=/usr/local/libxml2 && make && make install
cd ..

cd libmcrypt-2.5.8
./configure --prefix=/usr/local/libmcrypt && make && make install
cd ..

 cd zlib-1.2.8
./configure --prefix=/usr/local/zlib && make && make install
cd..

 cd libpng-1.6.17
./configure --prefix=/usr/local/libpng && make && make install
cd ..

mkdir /usr/local/jpeg9                                      #建立软件安装目录
mkdir /usr/local/jpeg9/bin                               #建立存放命令的目录
mkdir /usr/local/jpeg9/lib                                #建立jpeg库文件所在目录
mkdir /usr/local/jpeg9/include                        #建立存放头文件目录
mkdir -p /usr/local/jpeg9/man/man1             #建立存放手册目录
cd jpeg-9
./configure  --prefix=/usr/local/jpeg9/   --enable-shared  --enable-static
make && make install
cd ..

cd  freetype-2.4.10
./configure --prefix=/usr/local/freetype && make && make install
cd ..

cd autoconf-2.69
 ./configure &&  make && make install
cd ..

libgd-gd-2.1.0
./bootstrap.sh
./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib/ --with-jpeg=/usr/local/jpeg9/ --with-png=/usr/local/libpng/ --with-freetype=/usr/local/freetype
make && make install

二、开始部署lamp

1、安装 Apache

#拷贝两个文件到httpd目录下(注意:低一些的版本可能不需要此操作),并同时重命名
cp apr-1.5.1  httpd-2.4.12/srclib/apr
cp apr-util-1.5.4  httpd-2.4.12/srclib/apr

#安装pcre
cd pcre-8.37
./configure && make && make install
cd ..

#安装Apache
 ./configure  --prefix=/usr/local/apache2  --sysconfdir=/etc/httpd/  --with-z=/usr/local/zlib/  --with-included-apr  --enable-so  --enable-deflate=shared  --enable-expires=shared  --enable-rewrite=shared  --enable-static-support
make && make install

#修改配置文件
# vim /etc/httpd/httpd.conf
将ServerName  localhost:80
    DirectoryIndex  index.html index.htm index.php

#测试成功后,为Apache添加自启动功能,用如下命令编辑/etc/rc.d/rc.local 文件:
echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local  

/usr/local/apache2/bin/apachectl start           启动服务器
打开网页输入Localhost,应该看到it works字样

2、安装mysql

2-1、#安装基本依赖包,这里采用源码安装的方式,也可以使用yum命令安装

cd make-4.1
./configure && make && make install
cd m4-1.4.9
./configure && make && make install
cd bison-2.7.91
./configure && make && make install
cd cmake-3.2.2
./bootstrap && gmake && gmake install
 make && make install
cd ncurses-5.9
./configure && make && make install

#安装mysql
2-2、#首先,创建mysql用户、组

groupadd mysql
useradd -r -g mysql mysql
mkdir -p /usr/local/mysql                  #软件安装目录
mkdir -p /usr/local/mysql/data             #数据仓库目录

进入安装目录并安装:

cd mysql-5.6.24

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql-DMYSQL_DATADIR=/data/mysql/data-DSYSCONFDIR=/etc-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make && make install

解读:

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  \   #软件安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \  #数据仓库目录
-DSYSCONFDIR=/etc               \   #my.cnf路径
-DWITH_MYISAM_STORAGE_ENGINE=1     \   #支持MyIASM引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \   #支持InnoDB引擎
-DWITH_MEMORY_STORAGE_ENGINE=1 \  #支持Memory引擎
-DWITH_READLINE=1                  \   #快捷键功能(我没用过)
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \   #连接数据库socket路径
-DMYSQL_TCP_PORT=3306             \   #端口
-DENABLED_LOCAL_INFILE=1          \    #允许从本地导入数据
-DWITH_PARTITION_STORAGE_ENGINE=1 \   #安装支持数据库分区
-DEXTRA_CHARSETS=all              \   #安装所有的字符集
-DDEFAULT_CHARSET=utf8            \   #默认字符
-DDEFAULT_COLLATION=utf8_general_ci

2-3、配置数据库

(1)、#初始化数据库

/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/ --user=mysql
(2)、#copy配置文件,针对不同版本,5.6用下面一行
# cp support-files/my-medium.cnf /usr/local/mysql/my.cnf
cp /usr/local/mysql/support-files/my-default.cnf /usr/local/mysql/my.cnf
(3)、 #更改权限
chown -R mysql:mysql /usr/local/mysql                     
(4)、vim /usr/local/mysql/my.cnf #修改文件,添加以下内容:

[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/mysql.pid
user = mysql
tmpdir = /tmp

(5)、添加到引导程序中:
cp /usr/local/mysql/support-files/mysql.server  /etc/init.d/mysqld   
然后即可手工启动
/etc/init.d/mysqld start ##或者 service mysqld start
注意:设置开机启动:
chkconfig --add mysql ##有的系统需要下面的 chkconfig --level 345 mysql on
(6)、简化调用过程,设置密码,为方便调用,添加一个软连接:
ln -s /usr/local/mysql/bin/mysql /usr/bin/
设定一个密码
#mysql                      #默认是空密码,用这个命令就可以启动数据库
mysql> SET PASSWORD = PASSWORD(‘123456‘);

成功设置密码后启动数据库用下面的命令启动数据库

# mysql -u root -p

3、安装php

3-1、编译安装

# ./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/jpeg9/  --with-freetype-dir=/usr/local/freetype/  --with-gd=/usr/local/gd2/  --with-zlib-dir=/usr/local/zlib/  --with-mcrypt=/usr/local/libmcrypt/  --with-mysqli=/usr/local/mysql/bin/mysql_config  --enable-soap  --enable-mbstring=all  --enable-sockets

# make && make install

3-2、#创建php配置文件

cp php.ini-production /usr/local/php/etc/php.ini     

3-3、修改Apache配置文件:

# vim  /etc/httpd/httpd.conf  ,修改时参考下面的内容

149 LoadModule php5_module        modules/libphp5.so            #查看是否有这一行,如果没有手动加上

378     AddType application/x-httpd-php .php .php4 .php5         #添加这两行意思是以.php  .php4 .php5这些扩展名结尾的文件在Apache中用php解析器解析。
379     AddType application/x-httpd-php .php .phtml

3-4、重启Apache服务器,然后编辑一个test.php

[[email protected]~]# /usr/local/apache2/bin/apachectl stop
[[email protected] ~]# /usr/local/apache2/bin/apachectl start
[[email protected] ~]# vim /usr/local/apache2/htdocs/test.php             #输入以下内容并保存
<?php
    phpinfo();
?>

在浏览器中输入网址:http://localhost/test.php,如果配置成功,则可以看到php的安装信息网页。

3-5、开启php缓存加速功能:

(1)、如果安装的是php5.5或更高版本,开启自带的缓存加速功能

目前PHP的缓存插件一般有三个: APC、 eAccelerator、 XCache,但未来它们可能都会消失,因为PHP 5.5已经集成 Zend Opcache,功能和前三者相似但又有少许不同,

缓存速度据说比它们更快(注意:只是据说,我没测试过)。

php5.5以后版本编译eAccelerator报错如下:

eaccelerator.c:66:23: error: php_logos.h: No such file or directory

究其原因是PHP5.5以下版本有php_logos.c,php_logos.h等文件。

如果想在新版本继续用加速,目前知道是的php自带扩展 opcache。

操作如下:

cd /usr/local/src/php_pack/php-5.5.15 /ext/opcache 

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

 make && make install

修改配置文件# vim /usr/local/php/etc/php.ini  在最后加入

zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20121212/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

(2)、如果安装时php5.4或之前的版本安装缓存插件,参考网址:http://www.osyunwei.com/archives/5274.html

4、安装PHPmyadmin,方便数据库管理

下载网址:http://www.phpmyadmin.net/home_page/downloads.php,解压

cd phpMyAdmin-4.4.9-all-languages
cp config.sample.inc.php config.inc.php        #配置文件
cp -a  phpMyAdmin-4.4.9-all-languages /usr/local/apache2/htdocs/myadmin       #复制到指定目录,并更名

在浏览器中输入http://IP地址/myadmin,如果配置无误,则可以在浏览器中看到数据库登陆页面

5、安装对php进行安全加固的补丁:

下载网址:http://www.suhosin.org/stories/download.html

wget https://download.suhosin.org/suhosin-0.9.38.tar.gz
tar zxvf suhosin-0.9.38.tar.gz
cd suhosin-0.9.38
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

然后,

# vim /usr/local/php/etc/php.ini

将 extension_dir = "./" 更改为:

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20121212/ "
extension="suhosin.so"


时间: 2024-10-05 15:11:26

部署lamp服务器的相关文章

lamp+loganalyzer+rsyslog server部署日志服务器

lamp+loganalyzer+rsyslogserver部署日志服务器 网络环境 日志服务器 (lamp+loganalyzer+rsyslog) IP : 172.16.6.63/16 主机名: log.com 系统发行本: CentOS release 6.6 (Final) loganalyzer 版本:loganalyzer-3.6.5.tar.gz lamp apche rpm: rpmhttpd-2.2.15-39.el6.centos.x86_64 php rpm: php-g

CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器

一.简介 LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构.基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案. LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的

将网站部署到服务器上出现_STORAGE_WRITE_ERROR_问题

用的thinkphp3.2的框架,在本地运行没有问题,部署到服务器上(基于centos的LAMP环境)即报错,报错信息如下(完全看不懂...):求大神帮帮忙~~~~(>_<)~~~~ :(_STORAGE_WRITE_ERROR_:./Application/Runtime/Cache/Home/f8995a0e1afcdadc637612fae5a3b585.php错误位置FILE: /var/www/html/shoppingback/ThinkPHP/Library/Think/Stor

基于模块类型php部署LAMP

前言: L:Linux A:Apache M:MariaDB P:PHP 当我们要基于模块PHP去部署LAMP时,需要在两台主机上进行操作,一台主机提供http以及php,另一台主机提供MariDB. 本博客就基于模块类型的PHP部署两台服务器的LAMP: 如图所示:我们要基于此种模型进行部署: 第一部分: 首先我们要准备两台Linux(CentOS7)主机:一台主机作为HTTP/PHP主机: 第一步:(部署httpd/php) eno16777736: flags=4163<UP,BROADC

基于php-fpm方式部署LAMP

前言 CentOS 7: httpd-2.4:rpm包默认编译支持了fcgi模块: php-fpm包:专用于将php运行于fpm模式: 当我们使用php-fpm方式部署LAMP时,需要使用三台服务器,一台服务器作为http服务器,一台当作php-fpm服务器,一台作为数据库服务器.当http服务器接收到客户端的请求时,会通过本地磁盘IO返回出请求中的静态请求资源,当http服务器匹配到请求数据中的动态资源后,通过fastcgi将动态资源请求转发给php-fpm服务器的9000端口,php-fpm

部署 LAMP (CentOS 7.2)

摘自:https://help.aliyun.com/document_detail/50774.html 简介 LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Python是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台. 部署方式 在阿里云服务器下部署LAMP提供三种部署方式,镜像部署.一键安装包部署和手动部署(源码编译安装/YUM安装),一般推荐镜

部署 LAMP (CentOS 7.2),摘自阿里云,方便查看使用

原文地址:https://help.aliyun.com/document_detail/50774.html?spm=5176.product25365.6.728.C9s3V8 简介 LAMP指Linux+Apache+Mysql/MariaDB+Perl/PHP/Python是一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台. 部署方式 在阿里云服务器下部署LAMP提供三种部署方式,

部署LAMP平台和搭建Discue论坛

部署LAMP平台和搭建Discue论坛 1.          实验需求: 1)     搭建Apache环境 2) 构建PHP运行环境 3) 搭建MySQL 数据库 4) 搭建Discue 论坛 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.20 WIN7系统客户机: IP: 192.168.10.1 3.      实验步骤: 基本安装操作: 上一章我们已经搭建了Apache软件和MySQ

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器

Centos6.5安装rsyslog+loganalyzer+mysql部署日志服务器 系统环境: [[email protected] ~]# uname -r 2.6.32-431.el6.x86_64 rsyslog版本:(Centos6.5系统自带的版本都是这个5.8.10) [[email protected] ~]# rsyslogd -v rsyslogd 5.8.10, compiled with: FEATURE_REGEXP: Yes FEATURE_LARGEFILE: N