新手学linux--构建lamp

出自:andrewxiao
本人前不久开始学习linux,俗话说得好,好记性不如烂笔头,于是决定将平日所学所做实验,记录下来,以备回顾。由于本人是个初学者,所以借鉴了很多网上的资料,但在此处写出来的都是经过本人思考和多次实验的记录,如果有什么问题,还希望各位高手能够指出,本人不胜感谢!

今天记录的是安装lamp的全部过程:平台是centos4.6+httpd-2.2.9+mysql-5.0.51b+php-5.2.6

主机上必须要安装Development Tools,否则后续的编译工作无法进行.

1.Mysql的安装

进入mysql解压后的源码文件目录:

cd /usr/src

tar xvzf mysql-5.0.51b.tar.gz

cd mysql-5.0.51b

可输入./configure --help查看可用的选项:

编译并安装:
./configure --prefix=/usr/local/mysql   #设置mysql的安装路径
make && make install                    #编译,进行安装。
配置mysql
groupadd mysql                      #添加mysql组
useradd -g mysql mysql              #添加mysql用户并加入到mysql组
cd /usr/local/mysql/                #切换到cd /usr/local/mysql/目录下
chown -R root .                     #改变当前目录的所有者为root用户
chgrp -R mysql .                    #改变当前目录的组拥有者为mysql组
chmod 755 .                         #改变root目录的权限

cp /usr/src/mysql-5.0.51b/support-files/my-medium.cnf  /etc/my.cnf  

#拷贝此文件作为/etc/my.cnf 文件(可根据网站的大小规模选择不同的文件)
cd  bin/            #到/usr/local/mysql/bin目录下
./mysql_install_db --user=mysql     #以mysql身份初始化数据库(降低由root用户启动带来的危险性)

./mysqld_safe --user=mysql & #用mysql用户启动数据库(&表示在后台执行)
./mysqladmin -u root password 'admin' #将mysql的root用户密码设置为admin

cd /usr/local/mysql

chown -R mysql:mysql var  #改变var的拥有者和组为mysql、mysql组;(var为mysql数据库文件的存放路径)

chmod 755 var             #修改var目录的权限;
cp /usr/src/mysql-5.0.51b/support-files/mysql.server    \

>  /etc/init.d/mysqld          (同一行)#拷贝文件用于开机自动启动
chmod 755 /etc/init.d/mysqld   #改变mysqld权限
chkconfig --add mysqld         #添加mysqld服务到系统
chkconfig mysqld on            #在默认级别启动myslqd服务

service mysqld restart         #重启mysqld服务
测试mysql:
cd /usr/local/mysql/bin        #切换到cd /usr/local/mysql/bin目录
./mysql -u root -p             #登陆mysql
show databases;                #查看数据库表

2.Apache的安装
首先检查是否安装了linux自带的apache,如果有,将其卸载。
命令:rpm -qa|grep httpd         #查询是否安装了http软件
      rpm -e --nodeps 软件名称   #不检查依赖关系,强行卸载该软件
进入Apache解压后的源码目录

cd /usr/src

tar xvzf httpd-2.2.9.tar.gz

cd httpd-2.2.9

可输入./configure --help查看可用的选项:

进行编译、安装:

./configure

--sysconfdir=/etc/                # 指定Apache的配置文件存放路径

--with-mysql=/usr/local/mysql/    # 指定mysql的路径;

--enable-modules                  # 启用所有的模块。

(以上配置在同一行!此时apache安装在默认的/usr/local/apache2目录下)

make && make install               #编译,进行安装。

配置Apache
vi /etc/httpd.conf

修改ServerName,使这一行生效。添加ip或是域名及端口。

例: ServerName 127.0.0.1:80

修改DocumentRoot,将其中的路径改成自己本机的设置,如本例的“/var/www/html/”。并将此处以下几行<Directory>中的Deny from all改成Allow from all。

创建index.html文件:

echo “hi,welcome to here” >> /var/www/html/index.html
测试Apache:
用浏览器输入自己的ip及端口进行测试。
例:浏览器中输入:http://127.0.0.1:80

3.Php安装
进入php解压的源码文件目录(以下配置皆在同一行!)
./configure

--prefix=/usr/local/php                    #指定php的安装目录

--with-mysql=/usr/local/mysql              #指定mysql的安装目录--with-apxs2=/usr/local/apache2/bin/apxs   #指定apache的目录。

make && make install   #编译,进行安装。
cp php.ini-dist /usr/local/php/lib/php.ini

vi /etc/httpd/httpd.conf
找到“#AddType application/x-gzip .gz .tgz”
并在后面加入
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
#这两行的目的是让apache识别php。
再找到“DirectoryIndex index.html”
加上 index.php 让它把index.php做为默认页

测试环境:
# vi /var/www/html/index.php

输入:
<?
    phpinfo();
?>

# service httpd restart 重启apache服务器

例:浏览器中输入:http://127.0.0.1/index.php测试一下。如果成功会显示相关的php说明,没成功会显示源码。