`
shinfocom
  • 浏览: 1191378 次
文章分类
社区版块
存档分类
最新评论

Linux编译安装LAMP

 
阅读更多

前提条件: 确保安装以下组件,否则可能在编译一些选项时出错。
Legacy Software Development
Legacy Network Server

X Software Development

安装mysql,由于mysql编译比较慢,我们直接使用二进制包

mysql安装说明:
安装必须放在/usr/local/mysql
1.解压缩源代码包到/usr/local
tar mysql-5.5.15-linux2.6-i686.tar.gz -C /usr/local/mysql
2.创建一个链接
cd /usr/local
ln -sv mysql-5.5.15-linux2.6-i686.tar.gz mysql
3.默认mysql的数据放在data文件夹里,我们可以建立一个lv来存放它的数据
将来需要增加空间的时候方便。
4. mysql以mysql用户身份运行,需要建立一个mysql用户
5. mysql里有一个mysql数据库,用于存放其他数据库的信息:数据库名,表信息,等等


安装步骤 (一)

1) 创建一个新分区,建立lv, 命名为MYDATA 大小10G,挂载到/mydata

如果不会请看:http://blog.csdn.net/deansrk/article/details/6652443

2) 增加mysql用户组和用户,Mysql用户不需要家目录,因为它的所有权限都在mydata目录
groupadd -g 3306 mysql

useradd -g mysql -u 3306-s /sbin/nologin -M mysql //mysq不需要有任何命令


3) 计划将数据放在/mydata/data下,创建data目录
mkdir data

chown -R mysql:mysql /mydata //需将所有的文件属主属组都改为mysql,不改是错误的,因为mysql在运行时要使用这些数据库文件


4) 初始化mysql数据库, 需要先将mysql安装目录里的所有文件属主属组改为mysql
chown -R mysql:mysql .

scripts/mysql_install_db --usr=mysql --datadir=/mydata/data


5) /mydata/data 下的每一个目录对应一个数据库
将安装后的目录里的文件属组都改为mysql,这时候安全起见不需要mysql在调用这些文件

chown -R root .


6) 添加mysql服务
setenforce 0 //关闭selinux 防止它干扰
cp support-files/mysql.server /etc/init.d/mysqld //将服务拷贝到init.d下并重命名为mysqld,以使用chkconfig命令开启服务
chkconfig --add mysqld //增加mysqld服务
chkconfig --list mysql //查看mysq服务

chkconfig mysqld on //开机自动启动


7) 存放并修改配置文件
cp support-files/my-large.cnf /etc/my.cnf //在二进制包里的support-files目录里存放了mysql官方提供的配置文件,large代表512M内存使用,
vim my.cnf
[mysqd] 需要在mysql配置文件里定义数据库位置
#datadir = /mydata/data

tread_concurrency = 2 //并发进程数,CPU单核的话改小点


8) 执行mysql
/usr/local/mysql/bin/mysql //安装后,我们并没有配置mysql命令的环境变量,所以需要绝对路径执行
添加mysql命令到系统环境变量
export PATH=$PAHT:/usr/local/mysql/bin
source $PATH
##如果不想每次都手动配置PATH,直接使用Mysql的话,编辑/etc/profile文件,在PATH= 前一行添加export PATH=$PAHT:/usr/local/mysql/bin ,再source /etc/profile即可


(二)添加库文件和头文件 并非必须,但是未来如果编译某个软件需要用到mysql的库文件和头文件,如果找不到就报错

将mysql的库文件路径添加到 /etc/ld.so.conf.d/
首先创建一个mysql.conf 写入mysql的库文件路径,如下
cd /etc/ld.so.conf.d
vim mysql.conf
/usr/local/mysql/lib
#保存退出
然后使用ldconfig -v重新加载库文件

头文件存放目录 usr/include
mysql存放目录 usr/mysql/include
所有我们创建一个连接
ln -sv /usr/local/mysql/include /usr/include/mysql

添加mysql man文件路径到/etc/man.config
vim /etc/man.config
在MANPATH 后加一行
MANPATH=/usr/local/mysql/man

--------------------------------------------------------------------------------------------------------------------------------
apache的安装 (httpd)
配置httpd
1)解压缩 源代码文件
#tar jxvf httpd-2.2.4.tar.bz2
#cd httpd-2.2.4
#./configure --help //介绍几个常用配置选项
--prefix=/usr/local/apache 安装路径
--sysconfdir=/etc/httpd 配置文件存放路径
--enable-so 配置apache可以运行模块,默认不开启,必须开启 ### 重要
--enable-ssl 支持ssl
--enable-track-vars
--enable-rewrite
--with-zlib
--enable-mods-shared=most 开启模块
#这里我们选用 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-mod-shared=most
#make
#make install
./config --help 查看安装配置帮助信息
./configure 目的就是为了生成--> Makefile.in
2)
APACHE提供了一个样例脚本,但是这个脚本不适合用于启动服务
#/usr/local/apache/bin/apachectl
而我们根据rpm包里的安装脚本,来修改一个自己的安装配置apache脚本 httpd (完全可以自己写)
将httpd放到系统服务目录下

cp httpd /etc/init.d/

3)将httpd的服务添加进去 启动httpd服务
chkconfig --add httpd
service http start

---------------------------------------------------------------------------------------------------------
安装PHP

1) 配置安装文件
# tar -zvxf php-5.2.3.tar.gz
# mkdir -p /usr/local/php
# cd php-5.2.3
# ./configure --prefix=/usr/local/php
--sysconfdir=/etc/php
--with-apxs2=/usr/local/apache/bin/apxs //是否和apace链接 ,一定要选,否则httpd无法使用php
--with-mysql=/usr/local/mysql //和mysql链接
--with-mysqli=/usr/local/mysql/bin/mysql_config //和mysql链接,这三个一定要选,后面几个根据需要来选择
--with-xml
--with-png
--with-jpeg
--with-zlib
--with-freetype
--with-gd
--enable-track-vars
--enable-mbstring=all
# make
# make install

2) 拷贝php 配置文件到php的lib目录
cp php.ini -production /usr/local/php5/lib/php.ini

3)链接头文件
ln -sv /usr/local/php5/include /usr/include/php5























分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics