目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境。php
Linux、Apache、 MySQL、 PHP/Per/Pythonhtml
成本低廉
可定制、易于开发
方便易用、安全和稳定mysql
(1)经过Samba服务,从个人宿主机将整个LAMP部署所需的压缩包,挂载到“/mnt/”目录下。c++
smbclient -L //192.168.100.50/ //查看共享的文件 mount.cifs //192.168.100.50/LAMP-C7 /mnt/ //挂载咱们所须要的文件
(2)将安装Apache须要的用到的压缩包解压到“/opt/”目录下。sql
[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt/ //跨平台所需组件包 ....... //省略过程 [root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/ //跨平台所需组件包 ....... //省略过程 [root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/ //服务包 ....... //省略过程
(3)将两个组件包的目录文件移动到httpd文件目录下面,并分别重命名为apr、apr-util数据库
[root@localhost mnt]# cd ../opt/ [root@localhost opt]# ls apr-1.6.2 apr-util-1.6.0 httpd-2.4.29 rh [root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr [root@localhost opt]# ls apr-util-1.6.0 httpd-2.4.29 rh [root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util [root@localhost opt]# ls httpd-2.4.29 rh [root@localhost opt]#
(4)安装编译Apache服务以及服务所需的相关工具。apache
[root@localhost opt]# yum -y install \ > gcc \ > gcc-c++ \ > make \ > pcre-devel \ > expat-devel \ > perl ....... //省略过程
(5)进入到“/opt/httpd-2.4.29/”目录下,进行对Apache服务器的配置。vim
[root@localhost opt]# ls httpd-2.4.29 rh [root@localhost opt]# cd httpd-2.4.29/ [root@localhost httpd-2.4.29]# ls ABOUT_APACHE BuildBin.dsp emacs-style LAYOUT NOTICE srclib acinclude.m4 buildconf httpd.dep libhttpd.dep NWGNUmakefile support Apache-apr2.dsw CHANGES httpd.dsp libhttpd.dsp os test Apache.dsw CMakeLists.txt httpd.mak libhttpd.mak README VERSIONING apache_probes.d config.layout httpd.spec LICENSE README.cmake ap.d configure include Makefile.in README.platforms build configure.in INSTALL Makefile.win ROADMAP BuildAll.dsp docs InstallBin.dsp modules server [root@localhost httpd-2.4.29]# ./configure \ > --prefix=/usr/local/httpd \ //安装路径 > --enable-so \ //启用动态加载模块支持 > --enable-rewrite \ //启用网页地址重写功能 > --enable-charset-lite \ //启用字符集支持 > --enable-cgi //启用CGI脚本程序支持 ....... //省略过程
(6)编译安装Apache服务。api
[root@localhost httpd-2.4.29]# make && make install ....... //省略过程(编译时间较长耐心等待) #make进行编译,将源代码转换为可执行程序。make install 进行安装。
(7)将“/usr/local/httpd/bin/”目录下的“apachectl”文件移动到“/etc/init.d/”目录下,并在文件开头添加chkconfig识别配置,而后将其添加为标准的Linux系统服务。浏览器
[root@localhost httpd-2.4.29]#ls /usr/local/httpd/ bin build cgi-bin conf error htdocs icons include lib logs man manual modules [root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd [root@localhost httpd-2.4.29]# ls /etc/init.d/ functions httpd netconsole network README [root@localhost httpd-2.4.29]# #/usr/local/httpd/目录下的,主要子目录的用途: #/usr/local/httpd/bin //存放各类执行程序文件 #/usr/local/httpd/conf //存放各类配置文件 #/usr/local/httpd/htdocs //存放网页文档 #/usr/local/httpd/logs //存放日志文件 #/usr/local/httpd/modules //存放各类模块文件 #/usr/local/httpd/cgi-bin //存放各类CGI程序文件 [root@localhost httpd-2.4.29]# vim /etc/init.d/httpd #!/bin/sh # chkconfig: 35 85 21 //服务识别参数,在级别三、5中启动:启动和关闭的顺序分别为8五、21 # description: Apache is a World Wide Web server //服务描述信息 # # Licensed to the Apache Software Foundation (ASF) under one or more .......... //省略部份内容 [root@localhost httpd-2.4.29]# chkconfig --add httpd //将httpd服务添加为系统服务 [root@localhost httpd-2.4.29]#
(8)编辑httpd服务的主配置文件,配置网站名称,这里觉得“www.yun.com:80”为例。将监听地址改成网站服务器的IP地址“192.168.52.132:80”,端口为80,我这里直接监听当前主机的IP地址。将监听ipv6IP地址的命令行注释掉。
[root@localhost httpd-2.4.29]# vim /usr/local/httpd/conf/httpd.conf ServerName www.yun.com:80 //配置网站名称 Listen 192.168.52.132:80 //配置IPv4监听地址 #Listen 80
(9)优化配置文件与执行路径,在系统默认的配置文件目录“/etc/下”创建httpd服务配置文件的软连接,同时在系统识别的环境变量目录“/usr/local/bin/”下,创建httpd服务执行程序的软连接。
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/ [root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/ [root@localhost httpd-2.4.29]#
(10)对服务的命令对配置内容进行语法检查,用“httpd -t”或“apachectl -t”均可以,“Syntax OK”表示没有语法错误,没有错误咱们直接开启服务,而后检查可否监听TCP的80端口。最后关闭防火墙和加强性安全功能。
[root@localhost httpd-2.4.29]# httpd -t Syntax OK [root@localhost httpd-2.4.29]# apachectl -t Syntax OK [root@localhost httpd-2.4.29]# service httpd start //开启服务 [root@localhost httpd-2.4.29]# netstat -ntap | grep 80 //检查可否监听TCP的80端口 tcp 0 0 192.168.52.132:80 0.0.0.0:* LISTEN 34935/httpd [root@localhost httpd-2.4.29]# systemctl stop firewalld.service //关闭防火墙 [root@localhost httpd-2.4.29]# setenforce 0 //关闭加强性安全功能 [root@localhost httpd-2.4.29]#
(11)用咱们的宿主机去访问搭建好的http服务。
(1)安装编译MySQL服务以及服务所需的相关工具。
[root@localhost httpd-2.4.29]# yum install -y ncurses-devel autoconf cmake ....... //省略过程
(2)将MySQL服务的源码包解压到“/opt/”目录下。
[root@localhost mnt]#cd /mnt/ [root@localhost mnt]# tar zxvf mysql-5.6.26.tar.gz -C /opt/ ....... //省略过程
(3)进入“opt/mysql-5.6.26/”,对服务进行配置。
[root@localhost mnt]# cd /opt/mysql-5.6.26/ [root@localhost mysql-5.6.26]# ls BUILD config.h.cmake extra libmysqld packaging sql-bench unittest BUILD-CMAKE configure.cmake include libservices plugin sql-common VERSION client COPYING INSTALL-SOURCE man README storage vio cmake dbug INSTALL-WIN-SOURCE mysql-test regex strings win CMakeLists.txt Docs libevent mysys scripts support-files zlib cmd-line-utils Doxyfile-perfschema libmysql mysys_ssl sql tests [root@localhost mysql-5.6.26]# cmake \ > -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //指定安装路径 > -DDEFAULT_CHARSET=utf8 \ //指定默认字符集 > -DDEFAULT_COLLATION=utf8_general_ci \ //指定默认字符集的校对规则 > -DEXTRA_CHARSETS=all \ //指定额外支持的其它字符集 > -DSYSCONFIDIR=/etc \ //指定初始化参数文件目录 > -DMYSQL_DATADIR=/home/mysql/ \ //指定数据文件目录 > -DMYSQL_UNIX_ADDR=/home/mysql/mysql.sock //指定链接数据库的文件 ....... //省略过程
(4)编译安装MySQL。
[root@localhost mysql-5.6.26]# make&&make install ....... //省略过程(编译时间较长耐心等待) #make进行编译,将源代码转换为可执行程序。make install 进行安装。
(5)创建配置文件,用咱们源码包里自带的默认配置文件,去覆盖系统默认的MySQL服务配置文件。
[root@localhost mysql-5.6.26]# cp support-files/my-default.cnf /etc/my.cnf cp:是否覆盖"/etc/my.cnf"? yes [root@localhost mysql-5.6.26]#
(6)先将将脚本文件“mysql.server”从“support-files/”目录下复制到“/etc/init.d/”目录下,重命名为“mysqld”,同时给脚本文件添加执行权限。而后将MySQL服务添加为系统服务,并设置MySQL的环境变量。
[root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld //将脚本文件复制到/etc/init.d/目录 [root@localhost mysql-5.6.26]# ls -l /etc/init.d/mysqld -rw-r--r--. 1 root root 10870 10月 18 17:28 /etc/init.d/mysqld [root@localhost mysql-5.6.26]# chmod +x /etc/init.d/mysqld //添加执行权限 [root@localhost mysql-5.6.26]# ls -l /etc/init.d/mysqld -rwxr-xr-x. 1 root root 10870 10月 18 17:28 /etc/init.d/mysqld [root@localhost mysql-5.6.26]# chkconfig --add /etc/init.d/mysqld //添加为系统服务 [root@localhost mysql-5.6.26]# chkconfig mysqld --level 35 on [root@localhost mysql-5.6.26]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile //设置环境变量 [root@localhost mysql-5.6.26]# source /etc/profile //从新执行一下,刷新配置 [root@localhost mysql-5.6.26]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin [root@localhost mysql-5.6.26]#
(7)建立一个mysql用户,设为禁止登录。而后将“/usr/local/mysql/”目录下的全部文件目录的属主、属组改成mysql。
[root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql //添加用户 [root@localhost mysql-5.6.26]# chown -R mysql:mysql /usr/local/mysql/ //更改属主、属组,-R表示递归 [root@localhost mysql-5.6.26]# ls -l /usr/local/mysql/ 总用量 152 drwxr-xr-x. 2 mysql mysql 4096 10月 18 17:27 bin -rw-r--r--. 1 mysql mysql 17987 7月 15 2015 COPYING drwxr-xr-x. 3 mysql mysql 18 10月 18 17:27 data drwxr-xr-x. 2 mysql mysql 55 10月 18 17:27 docs drwxr-xr-x. 3 mysql mysql 4096 10月 18 17:27 include -rw-r--r--. 1 mysql mysql 104897 7月 15 2015 INSTALL-BINARY drwxr-xr-x. 3 mysql mysql 4096 10月 18 17:27 lib drwxr-xr-x. 4 mysql mysql 30 10月 18 17:27 man drwxr-xr-x. 10 mysql mysql 4096 10月 18 17:27 mysql-test -rw-r--r--. 1 mysql mysql 2496 7月 15 2015 README drwxr-xr-x. 2 mysql mysql 30 10月 18 17:27 scripts drwxr-xr-x. 28 mysql mysql 4096 10月 18 17:27 share drwxr-xr-x. 4 mysql mysql 4096 10月 18 17:27 sql-bench drwxr-xr-x. 2 mysql mysql 136 10月 18 17:27 support-files [root@localhost mysql-5.6.26]#
(8)初始化数据库。
[root@localhost mysql-5.6.26]# /usr/local/mysql/scripts/mysql_install_db \ > --user=mysql \ //管理用户 > --ldata=/var/lib/mysql \ //数据目录 > --basedir=/usr/local/mysql \ //工做目录 > --datadir=/home/mysql //数据目录 ....... //省略过程
(9)为链接数据库的文件“mysql.sock”在目录“/home/mysql/”下创建一个软连接,方便使用。
[root@localhost mysql-5.6.26]# ln -s /var/lib/mysql/mysql.sock /home/mysql/mysql.sock [root@localhost mysql-5.6.26]#
(10)对配置文件进行修改,添加咱们的工做目录与数据存放目录。
[root@localhost mysql-5.6.26]# vim /etc/init.d/mysqld basedir=/usr/local/mysql datadir=/home/mysql
(11)开启mysql服务,同时检查是否监听到TCP协议端口3306。
[root@localhost mysql-5.6.26]# service mysqld start //启动服务 Starting MySQL. SUCCESS! [root@localhost mysql-5.6.26]# netstat -anpt | grep 3306 tcp6 0 0 :::3306 :::* LISTEN 53852/mysqld [root@localhost mysql-5.6.26]#
(12)修改mysql数据库的管理员密码。
[root@localhost mysql-5.6.26]# mysqladmin -u root -p password "abc123" Enter password: //这里输入原始密码,原始密码为空,直接回车便可 Warning: Using a password on the command line interface can be insecure. [root@localhost mysql-5.6.26]#
(13)尝试进入mysql数据库,检查数据库是否搭建成功。
[root@localhost mysql-5.6.26]# mysql -u root -p //登陆 Enter password: //输入上一步设置的密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.6.26 Source distribution Copyright (c) 2000, 2015, 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 | | mysql | | performance_schema | | test | +--------------------+ 4 rows in set (0.00 sec) mysql> quit //退出 Bye [root@localhost mysql-5.6.26]#
(1)安装编译PHP服务以及服务所需的相关工具。
[root@localhost mysql-5.6.26]# yum -y install \ > gd \ > libpng \ > libpng-devel \ > pcre \ > pcre-devel \ > libxml2-devel \ > libjpeg-devel ....... //省略过程
(2)将PHP服务的源码包解压到“/opt/”目录下。
[root@localhost mysql-5.6.26]#cd /mnt/ [root@localhost mnt]# ls apr-1.6.2.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt php-5.6.11.tar.bz2 apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz [root@localhost mnt]# tar jxvf php-5.6.11.tar.bz2 -C /opt/ ....... //省略过程
(3)进入“/opt/php-5.6.11/”目录下,对PHP服务进行配置。
[root@localhost mnt]# cd /opt/php-5.6.11/ [root@localhost php-5.6.11]# ./configure \ > --prefix=/usr/local/php5 \ //指定安装路径 > --with-gd \ //图片处理库 > --with-zlib \ //压缩函数库 > --with-apxs2=/usr/local/httpd/bin/apxs \ //设置Apache HTTP Server提供的apxs模块支持程序的文件位置 > --with-mysql=/usr/local/mysql \ //设置MySQL数据库服务程序安装位置 > --with-config-file-path=/usr/local/php5 \ //设置PHP的配置文件php.ini将要存放的位置 > --enable-mbstring //启用多字节字符串功能 ....... //省略过程
(4)编译安装PHP
[root@localhost php-5.6.11]# make&& make install ....... //省略过程(编译时间较长耐心等待) #make进行编译,将源代码转换为可执行程序。make install 进行安装。
(5)将源码包里的配置文件复制到“/usr/local/php5/”目录下,并重命名为“php.ini”,而后同时在系统识别的环境变量目录“/usr/local/bin/”下,创建PHP服务执行程序的软连接。
[root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini [root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/ [root@localhost php-5.6.11]#
(6)对httpd服务的配置文件“httpd.conf”进行修改,使httpd服务器支持PHP页面解析功能。
[root@localhost php-5.6.11]# vim /etc/httpd.conf <IfModule dir_module> DirectoryIndex index.html index.php //添加默认首页识别php格式文件类型 </IfModule> AddType application/x-httpd-php .php //添加对“.php”类型网页文件的支持 AddType application/x-httpd-php-source .phps
(7)从新启动httpd服务,不建议用“restart”,由于“restart”有些进程不会结束。
[root@localhost php-5.6.11]# service httpd stop [root@localhost php-5.6.11]# service httpd start [root@localhost php-5.6.11]#
(8)修改首页文件内容,并将首页文件“index.html”重命名为“index.php”。
[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs/ [root@localhost htdocs]# ls index.html [root@localhost htdocs]# vim index.html <?php phpinfo(); ?> [root@localhost htdocs]# mv index.html index.php [root@localhost htdocs]# ls index.php [root@localhost htdocs]#
(9)此时再用咱们的宿主机去访问http服务,结果以下。
(1)进入MySQL,为论坛建立一个名为“bbs”的数据库,
[root@localhost htdocs]# cd /mnt/ [root@localhost mnt]# ls apr-1.6.2.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt php-5.6.11.tar.bz2 apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz [root@localhost mnt]# mysql -u root -p //登陆 Enter password: //输入密码 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.6.26 Source distribution Copyright (c) 2000, 2015, 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.03 sec) mysql> grant all on bbs.* to 'bbsuser'@'%' identified by 'admin123'; //给bbs数据库中的全部表格提高权限,同时建立管理数据库的用户"bbsuser",设置密码。"%"表示能够从全部终端访问 Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; //刷新数据库 Query OK, 0 rows affected (0.01 sec) mysql> quit //退出 Bye [root@localhost mnt]#
(2)将Discuz压缩包,解压到“/opt/”目录下,命名为“dis”。
[root@localhost mnt]# ls apr-1.6.2.tar.gz Discuz_X2.5_SC_UTF8.zip LAMP-php5.6.txt php-5.6.11.tar.bz2 apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2 mysql-5.6.26.tar.gz [root@localhost mnt]# unzip Discuz_X2.5_SC_UTF8.zip -d /opt/dis
(3)用“cp -r”命令把“upload/”目录递归复制到,httpd服务存放网页文档的目录“/usr/local/httpd/htdocs/”下面,命名为bbs。
[root@localhost mnt]# cd /opt/ [root@localhost opt]# ls dis httpd-2.4.29 mysql-5.6.26 php-5.6.11 rh [root@localhost opt]# cd dis/ [root@localhost dis]# ls readme upload utility [root@localhost dis]# cp -r upload/ /usr/local/httpd/htdocs/bbs [root@localhost bbs]#
(4)分别将下列文件或目录的属主改成“daemon”。
[root@localhost dis]# cd /usr/local/httpd/htdocs/bbs/ [root@localhost bbs]# ls admin.php config data home.php misc.php search.php uc_client api connect.php favicon.ico index.php plugin.php source uc_server api.php cp.php forum.php install portal.php static userapp.php archiver crossdomain.xml group.php member.php robots.txt template [root@localhost bbs]# chown -R daemon ./config //更改属主 [root@localhost bbs]# chown -R daemon ./data //更改属主 [root@localhost bbs]# chown -R daemon ./uc_client //更改属主 [root@localhost bbs]# chown -R daemon ./uc_server/data //更改属主 [root@localhost bbs]#
(5)在咱们的宿主机浏览器输入http://192.168.52.132/bbs,进入论坛安装界面点击我赞成。
(6)点击下一步。
(7)选择全新安装,点击下一步。
(8)按照下图输入数据库相关信息,而后点击下一步,安装数据库。
安装完毕以下图:
(9)从新输入http://192.168.52.132/bbs,成功进入论坛。