博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LAMP环境搭建
阅读量:6167 次
发布时间:2019-06-21

本文共 7632 字,大约阅读时间需要 25 分钟。

  hot3.png

经过前部分章节的学习,你已经掌握了linux的基础知识了。但是想成为一名系统管理

员恐怕还有点难度,因为好多单位招聘这个职位的时候都要求有一定的工作经验。然而真正
的经验一天两天是学不来的,是靠长时间积累得来的。不过你也不要灰心,所谓的工作经验
无非也就是一些运行在linux 系统上的软件的配置以及应用。就好像是装在windows上的
office一样,大部分人都会装,但是十分会用的却不多。是因为office太难吗,当然不是,
只是因为只有一小部分人花费了很长很长的时间去使用和研究office而已。
LAMP 是LinuxApacheMySQLPHP的简写,其实就是把Apache,MySQL以及PHP安装在
Linux系统上,组成一个环境来运行php的脚本语言。至于什么是php脚本语言,笔者不再
介绍,请自己查资料吧。Apache是最常用的WEB服务软件,而MySQL是比较小型的数据
库软件,这两个软件以及PHP都可以安装到windows的机器上。下面笔者就教你如何构建
这个LAMP环境。

【安装MySQL】

一般我们平时安装MySQL都是源码包安装的,但是由于它的编译需要很长的时间,所
以,笔者建议你安装二进制免编译包。你可以到MySQL官方网站去下载,也可以到到这里
下载http://syslab.comsenz.com/downloads/linux/具体版本根据你的平台和需求而定,目前
比较常用的mysql-5.0和mysql-5.1。下面是安装步骤:

1.下载mysql到/usr/local/src/

cd/usr/local/src/

去找mysql的某个版本

wget

2.解压

tar zxvf /usr/local/src/mysql-5.0.86-linux-i686-icc-glibc23.tar.gz
3.把解压完的数据移动到/usr/local/mysql
mv mysql-5.0.86-linux-i686-ii-glibc23/usr/local/mysql
4.建立mysql用户
useradd mysql

5.初始化数据库

cd/usr/local/mysql
mkdir -p /data/mysql;chown -R mysql:mysql /data/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql
--user定义数据库的所属主,--datadir定义数据库安装到哪里,建议放到大空间的分区上, 

ERROR: 1136  Column count doesn't match value count at row 1

网上找的原因都不好使啊~!~ 原来在redhat上没遇见过这个问题

原因:原有安装的mysql信息没有删除干净,需要将/var/lib/mysql目录删掉

I emptied the following directory '/opt/local/var/db/mysql5' and then executed 'sudo -u mysql mysql_install_db5' successfully.

用yum装试试

yum -y install mysql-server

这个目录需要自行创建。
6.拷贝配置文件
cp support-files/my-large.cnf/etc/my.cnf
7.拷贝启动脚本文件并修改其属性
cp support-files/mysql.server/etc/init.d/mysqld
chmod755/etc/init.d/mysqld

8.修改启动脚本

vim /etc/init.d/mysqld
需要修改的地方有datadir=/data/mysql(前面初始化数据库时定义的目录)
9.把启动脚本加入系统服务项,并设定开机启动,启动mysql
chkconfig --addmysqld
chkconfig mysqldon

servicemysqldstart

如果启动不了,请到/data/mysql/ 下查看错误日志。关于mysql的配置文件/etc/my.cnf请参
考这篇文章

 

【安装Apache】

cd /usr/local/src/
wget
useradd www (增加Apache运行账户)
tar zvxf httpd-2.2.11.tar.bz2
cd httpd-2.2.11
./configure --prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--enable-static-support \
--disable-userdir

复制运行:

./configure --prefix=/usr/local/apache2 --with-included-apr --enable-so --enable-deflate=shared --enable-expires=shared --enable-rewrite=shared --enable-static-support --disable-userdir

checking for zlib location… not found

在32位CENTOS5下安装httpd-2.2.11,报错。

checking whether to enable mod_deflate... checking dependencies

checking for zlib location... not found

checking whether to enable mod_deflate... configure: error: mod_deflate has been requested but can not be built due to prerequisite failures

rpm -qa|grep zlib

发现安装了,应该是没有找到正确路径。于是分别在编译参数上加上了 –with-z=/usr/lib64/或 –with-z=/usr/lib/。

解决方法:

安装zlib-devel:

yum install zlib-devel -y

echo $? //查看上一步是否执行成功

make
make install

 

【安装PHP】

wget http://syslab.comsenz.com/downloads/linux/php-5.2.10.tar.gz
tar zvxf php-5.2.10.tar.gz
cd php-5.2.10

 ./configure --prefix=/usr/local/php \ 

--with-apxs2=/usr/local/apache2/bin/apxs \ 
--with-config-file-path=/usr/local/php/etc \ 
--with-mysql=/usr/local/mysql \ 
--with-libxml-dir \ 
--with-gd \ 
--with-jpeg-dir \ 
--with-png-dir \ 
--with-freetype-dir \ 
--with-iconv-dir \ 
--with-zlib-dir \ 
--with-bz2 \ 
--with-openssl \ 
--with-mcrypt \ 
--enable-soap \ 
--enable-gd-native-ttf \ 
--enable-ftp \ 
--enable-mbstring \ 
--enable-sockets \ 
--enable-exif \ 
--disable-ipv6 

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-ftp --enable-mbstring --enable-sockets --enable-exif --disable-ipv6

make&&makeinstall 
mkdir/usr/local/php/etc 
cpphp.ini-dist/usr/local/php/etc/php.ini

安装php时候,在configure后,又出现错误提示:error: xml2-config not found. Please check your libxml2 installation.我又在网上搜了到了解决方法:

#yum install libxml2

还有错误:xml2-config not found. Please check your libxml2 installation

#yum install libxml2-devel –y

还有错误:Cannot find OpenSSL's <evp.h>

yum install openssl openssl-devel –y

还有错误:Please reinstall the BZip2 distribution

#yum install bzip2 bzip2-devel –y

还有错误:libbz2 and libbz2-dev

yum install libjpeg-devel

libpng.(a|so) not found.

yum -y install libpng-devel

freetype.h not found

yum install freetype-devel
mcrypt.h not found. Please reinstall libmcrypt.

yum install libmcrypt-devel -y

make

make test

error while loading shared libraries: /usr/local/mysql/lib/libmysqlclient.so.15: cannot restore segment prot after reloc: Permission denied

解决办法如下:

禁用 SELinux

# vi /etc/sysconfig/selinux

SELINUX=disabled

使用 chcon

# chcon -t texrel_shlib_t /usr/local/mysql/lib/libmysqlclient.so.15

make install

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1391

Warning: Cannot use a scalar value as an array in phar://install-pear-nozlib.phar/PEAR/ChannelFile.php on line 1396

网上说这是一个

 
 
 #49682 Pear broken in php 5.2.11
http://bugs.php.net/bug.php?id=49682
[root@localhost php-5.2.11]# rm -rf /usr/local/php/lib/php/.channels
[root@localhost php-5.2.11]# /usr/local/php/bin/pecl update-channels

make install 

cp php.ini-dist /etc/php.ini

终于成功了

【apache结合php】

Apache主配置文件为:/usr/local/apache2/conf/httpd.conf
#vim/usr/local/apache2/conf/httpd.conf
找到:
AddTypeapplication/x-gzip.gz.tgz
在该行下面添加
AddTypeapplication/x-httpd-php.php
找到:
<IfModuledir_module>
DirectoryIndexindex.html
</IfModule>
将该行改为
<IfModuledir_module>
DirectoryIndexindex.htmlindex.htmindex.php
</IfModule>
找到:
#Includeconf/extra/httpd-mpm.conf
#Includeconf/extra/httpd-info.conf
#Includeconf/extra/httpd-vhosts.conf
#Includeconf/extra/httpd-default.conf
去掉前面的“#”号,取消注释。
【配置apache的进程管理以及虚拟主机】
1.配置Apache进程管理
配置文件为:/usr/local/apache2/conf/extra/httpd-mpm.conf
将配置文件中下面一段修改为如下:
<IfModulempm_prefork_module>
ServerLimit 2048 新添加
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 1024默认最大为256,设置为超过256必须增加有ServerLimit
MaxRequestsPerChild 0
</IfModule> 

配置Apache的访问权限 

找到 
<Directory/> 
OptionsFollowSymlinks 
AllowOverrideNone 
Orderdeny,allow 
Denyformall 
</Directory> 
改成: 
<Directory/> 
OptionsFollowSymlinks 
AllowOverrideNone 
Orderdeny,allow 
Allowformall 
</Directory> 

2.配置Apache虚拟主机
配置文件为:/usr/local/apache2/conf/extra/httpd-vhosts.conf
将配置文件中下面一段修改为如下:
<VirtualHost*:80>
#ServerAdminwebmaster@dummy-host.example.com
DocumentRoot"/data/www"
ServerNamewww.example.com.cn
ErrorLog"|/usr/local/apache/bin/rotatelogs-l/www/logs/error.log-%Y%m%d"
CustomLog"|/usr/local/apache/bin/rotatelogs-l/www/logs/access.log-%Y%m%d"combined
</VirtualHost>
说明:
ServerAdmin 参数后为管理员email
DocumentRoot指的是论坛文件存放的目录
ServerName是论坛的域名
ErrorLog是论坛错误日志通过管道使用apache自带的rotatelogs工具将日志切割为每天一
个文件
CustomLog是论坛访问日志,同样切割为每天一个文件
配置Apache缺省httpd设置
配置文件为:/usr/local/apache2/conf/extra/httpd-default.conf
将配置文件中下面一段:
将KeepAliveOn改为KeepAliveOff
配置完上述内容之后,启动Apache:
#/usr/local/apache2/bin/apachectl start
更多关于apache的配置请参考:
apache的域名重定向
如何设置httpd-mpm.conf的参数呢
apachenameserver两个如何设置
apache日志切割问题
使apache的日志文件里不记录图片文件
apache如何在虚拟主机中实现用户验证
Apache防盗链设置
【测试LAMP是否成功】
vim /data/www/1.php
写入:
<?php
Phpinfo();
?>
保存后,然后在浏览器中输入http://你配置的域名/1.php 看是否能看到php的相关配置信
息。
【Zend安装】
有时,需要在你的LAMP环境中配置ZEND,因为有些php的应用程序比如Discuz!或者
phpwind等是需要用zend来解密的,不装zend会显示乱码。安装步骤为:
cd /usr/local/src
wget http://syslab.comsenz.com/downloads/linux/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386
./install.sh 

一阵回车 问Confirm the location of your php.ini file的时候打入/etc 

根据提示安装。
如果是3.3.9版本请参考
Zend3.3.9的安装

转载于:https://my.oschina.net/jiaozg/blog/93866

你可能感兴趣的文章
社会学视角下的大数据方法论及其困境
查看>>
《云计算:原理与范式》一1.7 平台即服务供应商
查看>>
百度成立“百度搜索公司”:固本拓新驱动生态裂变
查看>>
宇宙风暴?才怪!瑞典暗指俄罗斯黑客攻击航空控制系统
查看>>
5G将为欧洲带来超千亿欧元社会经济效益
查看>>
系统进程管理工具Process Explorer
查看>>
富士通仍执着SPARC架构芯片 将坚持推新
查看>>
易宪容:企业要利用大数据挖掘潜在需求
查看>>
微软声称Win10周年更新为Edge浏览器带来更好电池寿命
查看>>
混合云是企业IT的未来吗?
查看>>
LINE在日本取得成功 但全球化之路还很长
查看>>
红帽云套件新增QuickStart Cloud Installer,加快私有云部署
查看>>
MapXtreme 2005 学习心得 一些问题(八)
查看>>
流量精细化运营时代,营销SaaS之使命——流量掘金
查看>>
哥伦比亚大学牙科学院使用RFID系统,更好管理牙科器械
查看>>
雅虎同意出售核心资产
查看>>
Win10大丰收的节奏 微软收编iOS全部150万应用
查看>>
智慧城市要除“城市病” 中兴通讯开辟新增长极
查看>>
华平蝉联“视频会议十大卓越品牌”
查看>>
Opera已确认解散iOS开发团队
查看>>