LAMP的简介:
lAMP平台的构成组件:
Linux:作为LAMP架构的基础,提供用于支撑web站点的操作系统,能够与其他三个组件提供更好地稳定性、兼容性。
Apache:作为LAMP架构前端,是一款功能强大、稳定性好的web服务器程序,该服务器直接面向用户提供网站访问,发送网页、图片等内容。
Mysql:作为LAMP架构后端,是一款流行的开源关系数据库系统。
PHP:作为三种开发动态网页的编程语言,负责解释动态网页文件,并提供web应用程序的开发和运行环境。
LAMP平台的应用优势:
1. 成本低廉
2. 可定制
3. 易于开发
4. 方便易用
5. 安全和稳定
构建PHP运行环境:
PHP即“PHP Hypertext Preprocessor”(超文本预处理语言)的缩写,是一种服务器端的HTML嵌入式脚本语言,PHP的语法混合了C、Java、Perl以及部分自创的新语法,拥有更好地网页执行速度,更重要的是PHP几乎支持所有流行的数据库,在数据库层面的操作功能十分强大,而且能够支持UNIX、Windows、Linux等多种操作系统。
准备工作:
首先,应该准备一台能够解析PHP网页,支持数据库的网站服务器,其中Apache、PHP、MySQL组件的版本应符合Discuz!系统的最低要求,这里以此前源代码编译构建的LAMP平台为例,默认首页为index.php。
其次,应确定论坛服务器的域名、IP地址以及访问论坛的URL地址。Discuz!论坛支持作为独立网站运行,如http://bbs.benet.com;也可以作为网站的一个目录,如http://www.benet.com/bbs/。具体访问方式由网络管理员根据所注册DNS域名而定。
最后,启动httpd、mysqld服务器程序,并创建数据库及授权用户。Discuz!论坛系统需要使用MySQL数据库来存放各种信息,因此在安装之前提供一个可用的库,以及能够读写该数据库的用户。
实验要求:
使用redhat6.0以上的版本
服务器的IP地址 192.168.100.20
安装Apache
## 挂载光盘到mnt目录下 [mount /dev/sr0 /mnt ##使用命令tar进行解压缩,并指定解压后的路径为/opt下 tar xzvf http-2.4.2.tar.gz -C /opt tar xzvf apr-1.4.6.tar.gz -C /opt tar xzvf apr-util-1.4.1.tar.gz -C /opt ##切换到opt下,可以看到被解压缩的包 [root@server02 lamp]# cd /opt/ [root@server02 opt]# ls apr-1.4.6 apr-util-1.4.1 httpd-2.4.2 lzo-2.09 ##将apr和apr-util以解压过后的文件拷贝到httpd-2.4.2/srclib/,在进行编译 cp -R apr-1.4.6/ httpd-2.4.2/srclib/apr cp -R apr-util-1.4.1/ httpd-2.4.2/srclib/apr-util ##使用命令切换到yum.repo.d/下,编辑abc.repo , [root@server02 opt]# cd /etc/yum.repos.d/ [root@server02 yum.repos.d]# vi abc.repo [root@server02 yum.repos.d]# cat abc.repo [abc] name=test baseurl=file:///mnt enabled=1 gpgcheck=0 ##在手工编译之前,首先要安装gcc gcc-c++ 环境,这里安装需要依赖性关系,所以使用yum 进行安装 [root@server02 yum.repos.d]# cd [root@server02 ~]# yum install gcc gcc-c++ -y ##安装pcre-devel包,这个包是根据系统的,比如系统是64位的,就安装64位的包 [root@server02 ~]# rpm -ivh /mnt/Packages/pcre-devel-7.8-3.1.el6.x86_64.rpm warning: /mnt/Packages/pcre-devel-7.8-3.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:pcre-devel ########################################### [100%] ##安装make包,系统一般都带你安装好的,可以是rpm 进行查看, [root@server02 ~]# rpm -q make make-3.81-19.el6.x86_64 ##切换到opt下的http-2.4.2/,使用./configure 进行配置,只有切换到相对应的子目录才能进行配置。 [root@server02 ~]# [root@server02 ~]# cd /opt/httpd-2.4.2/ [root@server02 httpd-2.4.2]# ./configure > --prefix=/usr/local/apache > --enable-so > --enable-rewrite > --enable-mods-shared=most > --with-mpm=worker > --disable-cgid > --disable-cgi ## 完成配置后,执行“make”进行编译,将源代码转换为可执行的程序;然后执行“make install”完成最后的安装过程。(其中make的过程可能需要较长的时间) [root@server02 httpd-2.4.2]# make [root@server02 httpd-2.4.2]# make install ##将以下目录重定向到etc/init.d/httpd中,以便service进行管理。 [root@server02 httpd-2.4.2]# grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd ## 在文件最前面插入下面的行,使其支持chkconfig命令: [root@server02 httpd-2.4.2]# vim /etc/init.d/httpd #!/bin/sh # chkconfig:2345 85 15 # description:Apache is a World Wide Web server. ## 保存后退出vi编辑器,执行下面的命令增加httpd服务控制脚本执行权限: [root@server02 httpd-2.4.2]# chmod +x /etc/init.d/httpd ## 执行下面的命令将http的服务加入到系统服务: [root@server02 httpd-2.4.2]# chkconfig --add httpd ## 执行下列命令将开启http的3、5级别 [root@server02 httpd-2.4.2]# chkconfig --level 35 httpd on [root@server02 httpd-2.4.2]# chkconfig --list httpd httpd 0:关闭1:关闭2:关闭3:启用4:关闭5:启用6:关闭 [root@server02 httpd-2.4.2]# ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf [root@server02 httpd-2.4.2]# vi /etc/httpd.conf Listen 192.168.100.20:80 ##设置服务器监听的IP和端口 #Listen 80 ##把ipv6的监听端口注释 ServerName server02.benet.com:80 ##设置服务器用于辨识自己的主机名和端口号(用IP代替)。 ##查看80端口是否开启 [root@server02 httpd-2.4.2]# netstat -ntap | grep 80 tcp 0 0 192.168.100.20:80 0.0.0.0:* LISTEN 58090/httpd [root@server02 httpd-2.4.2]# service httpd start ##开启服务 ##关闭防火墙和SELinux [root@server02 httpd-2.4.2]# service iptables stop iptables:清除防火墙规则: [确定] iptables:将链设置为政策 ACCEPT:filter [确定] iptables:正在卸载模块: [确定] [root@server02 httpd-2.4.2]# setenforce 0 [root@server02 httpd-2.4.2]# ##这时就可以在客户端进行访问了,(注:每做一步都要进行测试,方便以下配置过程中进行排错)
配置DNS:
————————DNS配置————————- ##上面访问网站都是通过IP地址进行访问,下面做的DNS把IP地址解析成域名进行访问。 ##它的作用在这里就不多做介绍了,如有需要请看前几篇 查询bind是否安装 rpm -q bind 如果没安装,则直接安装, //使用RPM进行安装 [root@server02 ~]# rpm -ivh /mnt/Packages/bind-9.7.3-8.P3.el6.x86_64.rpm warning: /mnt/Packages/bind-9.7.3-8.P3.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:bind ########################################### [100%] ##编辑主配置文件,将监听端口的地址,改为本机的ip地址,允许所有人进行访问; [root@server02 ~]# vim /etc/named.conf options { listen-on port 53 { 192.168.100.20; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion yes; ##编辑区域配置文件:正向区域benet.com,类型为主区域 [root@server02 ~]# vim /etc/named.rfc1912.zones zone "benet.com" IN { type master; file "benet.com.zone"; allow-update { none; }; ##这边就不做详细解释了,如有需要请看前几篇 [root@server02 ~]# cd /var/named/ [root@server02 named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@server02 named]# cp -p named.localhost benet.com.zone [root@server02 named]# vim benet.com.zone [root@server02 named]# service named start 启动 named: [确定] [root@server02 named]# host www.benet.com www.benet.com has address 192.168.100.20 ##完成配置后,就可以输入域名进行访问了
安装mysql数据库
——————————MySQL数据库的安装—————————— ##将MySQL压缩包进行解压 [root@server02 lamp]# tar zxvf mysql-5.5.24.tar.gz -C /opt 确认安装 gcc 、 gcc-c++ 、make、cmake ncurses-devel、 bison、 libaio-devel的软件包 ##使用RPM安装以下软件包(必须安装)还有gcc &gcc-c++,上面已经安装过了,所以这里就不需要安装。 [root@server02 lamp]# rpm -ivh /mnt/Packages/cmake-2.6.4-5.el6.x86_64.rpm warning: /mnt/Packages/cmake-2.6.4-5.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:cmake ########################################### [100%] r^H^H^H^H^H^H[root@server02 lamp]# [root@server02 lamp]# rpm -ivh /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm warning: /mnt/Packages/ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:ncurses-devel ########################################### [100%] [root@server02 lamp]# rpm -ivh /mnt/Packages/bison-2.4.1-5.el6.x86_64.rpm warning: /mnt/Packages/bison-2.4.1-5.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:bison ########################################### [100%] [root@server02 lamp]# rpm -ivh /mnt/Packages/libaio-devel-0.3.107-10.el6.x86_64.rpm warning: /mnt/Packages/libaio-devel-0.3.107-10.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY Preparing... ########################################### [100%] 1:libaio-devel ########################################### [100%] ##创建mysql用户,并不允许登录到系统 [root@server02 lamp]# useradd -s /sbin/nologin mysql [root@server02 lamp]# mkdir -p /usr/local/mysql [root@server02 lamp]# cd /opt/mysql-5.5.24/ Mysql的安装方法: ##切换到相对应的子目录进行配置,这里不同往常,使用的是cmake进行配置,而不是./configure。 [root@server02 lamp]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql //安装目录// -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock //指定数据库连接文件位置// -DDEFAULT_CHARSET=utf8 //字符集设定// -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all //支持扩展字符集// -DWITH_MYISAM_STORAGE_ENGINE=1 //开启引擎模块// -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 //启用readline库// -DENABLED_LOCAL_INFILE=1 //支持读取本地数据// -DMYSQL_DATADIR=/home/mysql //数据库文件家目录// -DMYSQL_USER=mysql //指定用户// -DMYSQL_TCP_PORT=3306 //指定端口// Make & makd install 在make与make install的时候可以看到进度百分比,感觉这一点要比configure方式要好 chown -R mysql.mysql /usr/local/mysql //更改属主和属组// [root@server02 mysql-5.5.24]# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf cp:是否覆盖"/etc/my.cnf"? y [root@server02 mysql-5.5.24]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld [root@server02 mysql-5.5.24]# chmod 755 /etc/init.d/mysqld //mysql脚本添加权限// //添加mysqld服务项到chkconfig中// [root@server02 mysql-5.5.24]# chkconfig --add /etc/init.d/mysqld [root@server02 mysql-5.5.24]# chkconfig mysqld --level 35 on //3.5级别开机自启动 ##初始化数据库 [root@server02 mysql-5.5.24]# /usr/local/mysql/scripts/mysql_install_db > --user=mysql > --ldata=/var/lib/mysql > --basedir=/usr/local/mysql > --datadir=/home/mysql ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock /*直接建立软连接*/ [root@server02 mysql-5.5.24]# service mysqld start Starting MySQL... [确定] [root@server02 mysql-5.5.24]# export PATH=$PATH:/usr/local/mysql/bin/ \*开机时刷新*\ //更改环境变量// 或者可选择vi /etc/profile 在最后一行加入后 运行source /etc/profile ##完成以上配置后,就可以进入数据库了 ,直接输入mysql即可 [root@server02 mysql-5.5.24]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.24-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql> show databases; ##要想知道数据有没有创建成功,可以使用此命令,查看数据库,如下信息表示已创建成功。 +--------------------+ | Database | +--------------------+ | information_schema | | #mysql50#.gnome2 | | #mysql50#.mozilla | | mysql | | performance_schema | | test | +--------------------+ 6 rows in set (0.00 sec) mysql>
配置GD库
##首先安装GD库和GD库关联程序 //用来处理和生成图片// ##直接使用yum安装所有需要的包 [root@server02 mysql-5.5.24]# yum install > libjpeg-devel > libpng-devel > freetype-devel > zlib-devel > gettext-devel > libXpm-devel > libxml2-devel > fontconfig-devel > openssl-devel > bzip2-devel Complete! [root@server02 mysql-5.5.24]# cd /lamp/ ##使用tar将下载好的包进行解压缩,并释放到统一目录下 [root@server02 lamp]# tar zxvf gd-2.0.35.tar.gz -C /opt ##切换到相对应的子目录进行配置, [root@server02 lamp]# cd /opt/gd/ [root@server02 gd]# ls 2.0.35 [root@server02 gd]# cd 2.0.35/ [root@server02 2.0.35]# ./configure --prefix=/usr/local/gd [root@server02 2.0.35]# make [root@server02 2.0.35]# make install
安装php
——————PHP配置————————————--—————————— [root@server02 2.0.35]# cd /lamp/ [root@server02 lamp]# tar jxvf php-5.4.5.tar.bz2 -C /opt [root@server02 lamp]# cd /opt/php-5.4.5/ [root@server02 php-5.4.5]# ./configure > --prefix=/usr/local/php > --with-apxs2=/usr/local/apache/bin/apxs \ 这是加入apache中为DSO模块的位置 > --with-gd \ #支持GD库 > --with-mysql=/usr/local/mysql > --with-config-file-path=/etc > --enable-sqlite-utf8 > --with-zlib-dir > --with-libxml-dir > --with-freetype-dir > --with-jpeg-dir > --with-png-dir > --with-ttf > --with-iconv > --with-openssl > --with-gettext > --enable-mbstring > --enable-gd-native-ttf > --enable-gd-jis-conv > --enable-static > --enable-zend-multibyte > --enable-inline-optimization > --enable-sockets > --enable-soap > --enable-ftp > --disable-ipv6 [root@server02 php-5.4.5]# make [root@server02 php-5.4.5]# make install find -name CMakeCache.txt rm -f ./CMakeCache.txt //报错处理// //优化调整PHP// [root@server02 php-5.4.5]# cp php.ini-production /etc/php.ini cp:是否覆盖"/etc/php.ini"? Y ##让Apache支持php [root@server02 php-5.4.5]# vi /usr/local/apache/conf/httpd.conf 找到 AddType application/x-gzip .gz .tgz 在下面添加如下内容 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html //调整首页文件设置 [root@server02 php-5.4.5]# service httpd stop [root@server02 php-5.4.5]# service httpd start ##切换到主页中,把原有的删掉,加入以下命令,用来测试php。 [root@server02 php-5.4.5]# cd /usr/local/apache/htdocs/ [root@server02 htdocs]# vi index.html <?php phpinfo(); ?> ##把以html结尾的改为php结尾的后缀, [root@server02 htdocs]# mv index.html index.php [root@server02 htdocs]# ls Index.php [root@server02 htdocs]# ##还需要进入主配置文件中,加入index.php DirectoryIndex index.html index.html.var index.php ##这时就可以在客户端上进行测试php,以下表示php成功完成;
安装Discuz论坛
-------------------------安装论坛-------------------------------------------- [root@server02 htdocs]# mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.5.24-log Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement. mysql> CREATE DATABASE bbs; //创建一个数据库// Query OK, 1 row affected (0.09 sec) //把bbs数据库里面所有表的权限授予给bbsuser,并设置密码// mysql> GRANT all ON bbs.* TO ‘bbsuser‘@‘%‘ IDENTIFIED BY ‘admin123‘; Query OK, 0 rows affected (0.13 sec) mysql> flush privileges; //刷新数据库// Query OK, 0 rows affected (0.00 sec) mysql> quit Bye ##将下载好的包进行解压缩: [root@server02 htdocs]# cd /lamp/ [root@server02 lamp]# unzip Discuz_X2.5_SC_UTF8.zip -d /opt/dis [root@server02 lamp]# cd /opt/dis/ [root@server02 dis]# ls readme upload utility [root@server02 dis]# cp -r upload/ /usr/local/apache/htdocs/bbs ##修改以下四个文件的的属主为daemon [root@server02 dis]# cd /usr/local/apache/htdocs/bbs [root@server02 bbs]# chown -R daemon ./config [root@server02 bbs]# chown -R daemon ./data [root@server02 bbs]# chown -R daemon ./uc_client [root@server02 bbs]# chown -R daemon ./uc_server/data [root@server02 bbs]# ls -l 总用量 116 -rw-r--r--. 1 root root 2603 5月 15 23:56 admin.php drwxr-xr-x. 11 root root 4096 5月 15 23:56 api -rw-r--r--. 1 root root 727 5月 15 23:56 api.php drwxr-xr-x. 2 root root 4096 5月 15 23:56 archiver drwxr-xr-x. 2 daemon root 4096 5月 15 23:56 config -rw-r--r--. 1 root root 922 5月 15 23:56 connect.php -rw-r--r--. 1 root root 253 5月 15 23:56 cp.php -rw-r--r--. 1 root root 106 5月 15 23:56 crossdomain.xml drwxr-xr-x. 13 daemon root 4096 5月 15 23:56 data -rw-r--r--. 1 root root 5558 5月 15 23:56 favicon.ico -rw-r--r--. 1 root root 2110 5月 15 23:56 forum.php -rw-r--r--. 1 root root 823 5月 15 23:56 group.php -rw-r--r--. 1 root root 1223 5月 15 23:56 home.php -rw-r--r--. 1 root root 5448 5月 15 23:56 index.php drwxr-xr-x. 5 root root 4096 5月 15 23:56 install -rw-r--r--. 1 root root 1040 5月 15 23:56 member.php -rw-r--r--. 1 root root 1381 5月 15 23:56 misc.php -rw-r--r--. 1 root root 1757 5月 15 23:56 plugin.php -rw-r--r--. 1 root root 985 5月 15 23:56 portal.php -rw-r--r--. 1 root root 582 5月 15 23:56 robots.txt -rw-r--r--. 1 root root 1158 5月 15 23:56 search.php drwxr-xr-x. 10 root root 4096 5月 15 23:56 source drwxr-xr-x. 6 root root 4096 5月 15 23:56 static drwxr-xr-x. 3 root root 4096 5月 15 23:56 template drwxr-xr-x. 6 daemon root 4096 5月 15 23:56 uc_client drwxr-xr-x. 13 root root 4096 5月 15 23:56 uc_server -rw-r--r--. 1 root root 1691 5月 15 23:56 userapp.php [root@server02 bbs]#
##输入www.benet.com/bbs ,就可以登录安装界面,图形化安装,很友好。单击“我同意”即可
接下来在正式安装之前,安装程序会检查软件需求,磁盘空间、目录和文件权限、PHP函数支持等是否满足条件。
##在填写数据库信息中;输入已创建的数据库名、用户名、密码,进行登录
##在填写管理员信息中;输入admin、密码自定义
##网站的后台;输入www.benet.com/bbs/admin.php
现在是以管理员的身份登录的,要想使用另一个账号登录,退出即可,重新注册。
此时,已经安装完毕了,我们就可以使用了
Apache前面已经有啦,这里只有MySQL与PHP的脚本
本文出自 “青鸟流氓团@多多” 博客,请务必保留此出处http://duo1314.blog.51cto.com/9961268/1664204
原文地址:http://duo1314.blog.51cto.com/9961268/1664204