LAMP 网站运行平台 Linux Apache MySQL PHP
网站的网页文件用PHP语言开发的
网站服务器用apache软件实现
网站运行过程中产生的数据保存到数据库里,数据库软件用mysql
Php apache mysql安装在linux操作系统中。
Php apache mysql开源且跨平台。
用rpm包搭建lamp环境
Yum –y install php mysql-sever httpd
用源码包搭建lamp环境。
安装前的准备工作
1、 配置固定IP地址
2、 安装开发工具和开发库软件包组
3、 准备安装需要的源码包
4、 把当前主机上rpm包提供的网站服务mysql数据库服务停止并设置开机不自启
安装apache源码包。PHP要最后安装,apache和mysql先安装。
[root@www LAMP]# tar zxvf httpd-2.2.25.tar.gz -C /usr/src/
[root@www src]# cd /usr/src/httpd-2.2.25/
--prefix 指定安装目录
--enable-so 支持动态加载模块
--enable-rewrite 支持网站地址重写
-- enalbe-cgi 支持CGI程序脚本
CGI 通用网关接口。可以通过页面执行操作。
--enable-charset-lite 支持多语言编码
--enable-ssl 支持ssl加密
--enable-suexec 支持setuid权限封装
--with-suexec-caller=daemon 指定suEXEC用户。源码包安装apache的进程所有者为daemon。
[root@www httpd-2.2.25]# grep daemon /etc/passwd
daemon:x:2:2:daemon:/sbin:/sbin/nologin
没有daemon用户需手动添加上
--with-suexec-docroot 指定suEXEC目录
[root@www httpd-2.2.25]# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-cgi --enable-charset-lite --enable-ssl
[root@www httpd-2.2.25]# make
[root@www httpd-2.2.25]# make install
[root@www apache]# cd /usr/local/apache/
[root@www apache]# ls
bin cgi-bin error icons logs manual
build conf htdocs include man modules
conf 配置文件目录。主配置文件httpd.conf.
logs 日志文件目录。
modules 模块目录。
bin 可执行脚本目录。
htdocs 网页目录
[root@www apache]# bin/apachectl start
[root@www apache]# netstat -antup | grep :80
tcp 0 0 :::80 :::* LISTEN 24227/httpd
[root@www apache]# elinks --dump http://localhost
It works!
[root@www apache]# vim /etc/init.d/myhttpd
[root@www apache]# cp bin/apachectl /etc/init.d/myhttpd
#chkconfig:35 85 15
# description: Apache is a World Wide Web server.
[root@www init.d]# chkconfig --add myhttpd
[root@www init.d]# chkconfig --list myhttpd
[root@www init.d]# service myhttpd stop
[root@www init.d]# elinks --dump http://localhost
ELinks: 拒绝连接
[root@www init.d]# service myhttpd start
[root@www init.d]# elinks --dump http://localhost
It works!
进程名 httpd
监听端口 80
传输协议 tcp
进程所有者 daemon
安装mysql
[root@www ~]# useradd -M -s /sbin/nologin mysql
[root@www ~]# grep mysql /etc/passwd
mysql:x:501:501::/home/mysql:/sbin/nologin
[root@www mysql-5.1.62]# ./configure --prefix=/usr/local/mysql --with-charset=utf8 --with-collation=utf8_general_ci --with-extra-charset=gbk,gb2312
[root@www mysql-5.1.62]# make&&make install
[root@www local]# cd /usr/local/mysql/
[root@www mysql]# ls
bin docs include lib libexec mysql-test share sql-bench
bin 启动脚本目录
创建主配置文件
[root@www support-files]# pwd
/usr/src/mysql-5.1.62/support-files
[root@www support-files]# cp my-medium.cnf /etc/my.cnf
初始化授权库
[root@www bin]# pwd
/usr/local/mysql/bin
[root@www bin]# ./mysql_install_db --user=mysql
[root@www mysql]# pwd
/usr/local/mysql
[root@www mysql]# ls
bin docs include lib libexec mysql-test share sql-bench var
var 数据库目录
启动服务
[root@www bin]# pwd
/usr/local/mysql/bin
[root@www bin]# ./mysqld_safe --user=mysql &
[root@www bin]# jobs
[1]+ Running ./mysqld_safe --user=mysql &
[root@www bin]# ./mysql -uroot -p
给源码的数据库服务添加启动脚本。
[root@www support-files]# pwd
/usr/src/mysql-5.1.62/support-files
[root@www support-files]# cp mysql.server /etc/init.d/mysql
[root@www init.d]# pwd
/etc/init.d
[root@www init.d]# chmod +x mysql
[root@www init.d]# chkconfig --add mysql
[root@www init.d]# chkconfig --list mysql
[root@www bin]# netstat -antup | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 6688/mysqld
[root@www bin]# PATH=$PATH:/usr/local/mysql/bin/
[root@www bin]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/usr/local/mysql/bin/
[root@www bin]# vim /etc/bashrc
export PATH=$PATH:/usr/local/mysql/bin/
连接数据库服务器:数据库管理员从本机登陆没有密码
[root@www bin]# mysql -uroot -p
将库文件和头文件链接到默认的系统目录下。
把源码包安装目录的库文件和头文件链接到系统默认的库文件头文件存放的目录。其他程序链接mysql服务需要库文件和头文件,所以需要做此操作。Apache是根据http协议进行链接的所以不需要。
两种方式均可。
第一种
[root@www bin]# ln -s /usr/local/mysql/lib/mysql/* /usr/lib64/
[root@www bin]# ln -s /usr/local/mysql/include/mysql/* /usr/include/
第二种
[root@www support-files]# vim /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/mysql/lib/mysql/
/usr/local/mysql/include/mysql/
[root@www support-files]# ldconfig -v
进程名
监听端口
传输协议
进程所有者
数据库目录
主配置文件
停止、启动源码mysql数据库服务
连接数据库服务器
安装源码PHP软件包
--prefix= 指定安装目录
--enable-mbstring 支持多字节字符
--with-apxs2 指定httpd的模块工具位置
--with-mysql 指定mysql 的安装位置
--enable-sockets 启用套接字支持
--with-config-file-path 指定配置路径
[root@www php-5.4.19]# pwd
/usr/src/php-5.4.19
[root@www php-5.4.19]# ./configure --prefix=/usr/local/php --enable-mbstring --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php/etc
[root@www php-5.4.19]# make&&make install
[root@www modules]# pwd
/usr/local/apache/modules
[root@www modules]# ls
httpd.exp libphp5.so
[root@www conf]# pwd
/usr/local/apache/conf
[root@www conf]# vim httpd.conf
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
[root@www conf]# service myhttpd stop
[root@www conf]# service myhttpd start
PHP配置文件。文件名必须为php.ini
[root@www php-5.4.19]# pwd
/usr/src/php-5.4.19
[root@www php-5.4.19]# cp php.ini-production /usr/local/php/etc/php.ini
[root@www etc]# vim php.ini 给PHP程序员用
; Allow ASP-style <% %> tags.
; http://php.net/asp-tags
asp_tags = on
[root@www htdocs]# vim index.php
<%
phpinfo();
%>
测试php能否连接mysql数据库。
[root@www htdocs]# vim linkdb.php
<?php
$linkdb=mysql_connect("192.168.1.1","root","");
if($linkdb){
echo "echo ok";
}
else{
echo "echo no";
}
?>
$linkdb=mysql_connect("192.168.1.1","root","");
$linkdb 定义变量
(mysql服务器IP地址或主机名,连接mysql的用户名,用户连接mysql的密码)
PHP和apache必须装一台服务器上。但是也要安装mysql源码包。
mysql服务器可以分开。
[root@localhost ~]# yum install -y mysql-server mysql
[root@localhost ~]# /etc/init.d/mysqld restart
初始化 MySQL 数据库: Installing MySQL system tables...
授权
mysql> grant all on *.* to bbsuser@"192.168.1.1" identified by "123456";
apache服务器
[root@www ~]# /usr/local/mysql/bin/mysql -h192.168.1.30 -ubbsuser -p123456
使用LAMP发布论坛
[root@www Desktop]# unzip Discuz_X3.0_SC_UTF8.zip
[root@www Desktop]# ls
readme upload utility
[root@www Desktop]# mv upload/ /usr/local/apache/htdocs/bbs
[root@www bbs]# pwd
/usr/local/apache/htdocs/bbs
[root@www bbs]# ls
admin.php cp.php home.php portal.php uc_client
api crossdomain.xml index.php robots.txt uc_server
api.php data install search.php userapp.php
archiver favicon.ico member.php source
config forum.php misc.php static
connect.php group.php plugin.php template
[root@www bbs]# chown -R daemon config/ data/ uc_server/ uc_client/ template/
[root@svr5 bbs]# chown -R daemon config/ data/ uc_server/
[root@svr5 bbs]# chown -R daemon template/ uc_client/
安装Discuz
http://server_ip/bbs
mysql> grant all on bbsdb.* to bbsuser@"%" identified by "123456";