您好,登錄后才能下訂單哦!
怎么進行LAMP服務搭建,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
指一組通常一起使用的來運行動態網站或者服務器,是基于Linu小,Apache,mysql和php的開放資源網絡開發平臺,Linux是開放操作系統,Apache是網站服務器,mysql是帶有基于網絡管理附加工具的關系型數據庫,PHP是流行的腳本語言(是采用Apache網站服務器+mysql數據庫+PHP語言引擎開發的)
外網一臺客戶機搭建dns,apache,mysql,php和論壇,分擔不同的角色,dns實現域名解析,apache實現網站代理,mysql實現用戶管理和數據存儲,php實現網頁登錄,最后論壇實現用戶注冊并登錄,這樣內網就可以訪問外網搭建的論壇,確保了用戶信息的安全性。
搭建dns 搭建apache 搭建mysql 搭建php 搭建論壇
1.Centos_6.5_Final或者red hat_6.5_Final
2.bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
3.bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
4.bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
5.bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
6.httpd-2.2.17.tar.gz
7.cmake-2.8.6.tar.gz
8.mysql-5.5.22.tar.gz
9.libmcrypt-2.5.8.tar.gz
10.mhash-0.9.9.9.tar.gz
11.mcrypt-2.6.8.tar.gz
12.php-5.3.28.tar.gz
13.ZendGuardLoader-php-5.3-linux-glibc23-x86_64
14.phpMyAdmin-4.2.5-all-languages.tar.gz
15.Discuz_7.2_FULL_SC_UTF8.zip
1.配置本地yum源
2.安裝bind包,搭建dns,實現域名解析
3.安裝httpd包,搭建apache,提供網站代理
4.安裝cmake和mysql包,實現用戶管理和數據存儲
5.安裝libmcrypt,mhash,mcrypt,phpZendGuardLoader,phpMyAdmin,實現解析,并登陸
6.安裝Discuz包,完成網站搭建并注冊,實現個人服務和管理
#mkdir –p /media/cdrom //在media下創建一個cdrom目錄,通暢情況下在media目錄下,也可以在其它目錄下
#mount /dev/cdrom /media/cdrom //掛載鏡像
#vim /etc/yum. repos.d/local.repo //編寫配置文檔
[local] //源路徑的文件名稱
name=server //源的名稱,可以是任意名稱
baseurl=file:///media/cdrom //源路徑
enabled=1 //使yum源生效
gpgcheck=0 //是否使用gpg驗證RPM包的
否認性
#cd /etc/yum.repos.d //進入源目錄下
#mkdir a //新建一個目錄
#mv C* a //將/etc/yum.repos.d生成的四個Centos文件移動到a中
#cd /media //進入media目錄
#ls //查看是否有鏡像
#cd CentOS_6.5_Final //進入鏡像目錄
#ls //查看鏡像是否有安裝包
#cd Packages/ //進入安裝包目錄
#ls //列出安裝包
#rpm –ivh bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm //安裝與bind相應的包
#rpm –ivh bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
#rpm –ivh bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
#rpm –ivh bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
#vim /etc/named.conf //進入配置文件
Options {
directory"/var/named"; //指定服務的工作目錄,同時指定配置文件的路徑
};
zone "http://benet.com"IN { //新建域
type master; //主服務器域類型
file "benet.com.zone"; //指定文件,是正向解析文件
};
#vim /var/named/ benet.com.zone. //編輯區域文件
$TTL 86400 //生存時間記錄字段,它以秒為單位定義該資源記錄中的信息存放在高速緩存中的時間長度
@ SOA benet.com. admin.benet.com. (
//SOA記錄,特殊字符@,就是ORIGIN的意思,admin是指定這個區域的授權主機和管理者信箱。
2011030301 //更新序列號
4H //刷新時間
30M //重試延遲
12H //失效時間
1D //無效解析記錄的生存周期
)
@ IN NS ns1.benet.com.
www IN A 192.168.1.2
ns1 IN A 192.168.1.2
#nslookup ns1.benet.com
1.下載源碼軟件包,卸載rpm安裝的httpd軟件包
#rpm -qa httpd //查看是否系統安裝了httpd
#rpm -e httpd –nodeps //如果安裝了httpd,就卸載httpd,包括它們的依賴關系
2.源碼編譯及安裝
#tar zxf httpd-2.2.17.tar.gz -C /usr/src/ //將httpd包解壓到/usr/src/目錄下
#cd /usr/src/httpd-2.2.17//
#./configure
--prefix=/usr/local/httpd
--enable-so
--enable-rewrite
--enable-charset-lite
--enable-cgi
//定義路徑.啟用動態加載模塊支持啟用網頁地址重寫.字符集支持
#make //進行源代碼編譯
#make install //因為源代碼要寫入系統,是源代碼執行安裝
3.優化執行路徑
#ln -s /usr/local/httpd/bin/* /usr/local/bin //進行軟連接
#ls -l /usr/local/bin/httpd /usr/local/bin/apachectl //查看http服務器包含的執行程序, 查看httpd服務器包含的網頁文檔根目錄
#httpd -v = /usr/local/httpd/bin/httpd-v //用于查看優化后的程序版本
4.添加httpd系統服務
# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd //將apachectl腳本復制為/etc/init.d/httpd
# vi /etc/init.d/httpd
#!/bin/bash
# chkconfig: 35 85 15
# description: Startup script for the Apache HTTP Server
# chkconfig --add httpd //添加http服務
# chkconfig --list httpd //c查看http的服務
5.web站點部署過程
確定網站名稱、ip地址
確定網站名稱及IP地址,并在DNS中設置
配置主配置文件
#vim /usr/local/httpd/conf/httpd.conf
ServerName http://test.benet.com //如有沖突可修改端口
#/usr/local/httpd/bin/apachectl –t //進行語法檢查
啟動httpd服務
#/etc/init.d/httpd start //啟動httpd服務
#netstat -anpt |grep httpd //過濾httpd的服務端口
部署網頁文檔
#vim /usr/local/httpd/htdocs/index.html
客戶機訪問測試,查看日志
#tail /usr/local/httpd/logs/access_log
6.進入網頁測試搭建的Apache服務器是否成功(再不修改網頁文檔的情況下,網頁上會顯示IT work,就表示Apache搭建成功)
# rpm -q mysql-server mysql //查看系統是否安裝了mysql服務
# yum -y remove mysql //如果安裝了mysql,就卸載mysql
# yum -y install ncurses-devel
#cd /usr/src
# tar zxf cmake-2.8.6.tar.gz //解壓到/usr/src目錄下
# cd cmake-2.8.6 //進入到/usr/src下的cmake的解壓文件
# ./configure //定義路徑
# gmake && gmake install //進行源代碼編譯,執行源代碼安裝
# tar zxf mysql-5.5.22.tar.gz -C /usr/src //解壓mysql包到/usr/src下
# cd /usr/src/mysql-5.5.22/ //進入/usr/src目錄下的mysql解壓文件
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DSYSCONFDIR=/etc
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_EXTRA_CHARSETS=all
//指定mysql的安裝路徑,指向mysql配置文件/etc/mysql,指定默認的字符集為utf8,設置默認排序規則(utf8_general_ci快速/utf8_unicode_ci準確),啟用額外的字符集類型,默認為all
{}mysql cmake 的詳細參數:
-DWITH_READLINE=1 啟用readline庫支持(提供可編輯的命令行)
-DWITH_SSL=system 啟用ssl庫支持(安全套接層)
-DWITH_ZLIB=system 啟用libz庫支持(zib、gzib相關)
-DWTIH_LIBWRAP=0 禁用libwrap庫(實現了通用TCP包裝的功能,為網絡服務守護進程使用)
-DMYSQL_TCP_PORT=3306 指定TCP端口為3306
-DMYSQL_UNIX_ADDR=/tmp/mysqld.sock 指定mysql.sock路徑
-DENABLED_LOCAL_INFILE=1 啟用本地數據導入支持
-DEXTRA_CHARSETS=all 啟用額外的字符集類型(默認為all)
-DDEFAULT_CHARSET=utf8 指定默認的字符集為utf8
-DDEFAULT_COLLATION=utf8_general_ci 設定默認排序規則(utf8_general_ci快速/utf8_unicode_ci準確)
-DWITH_EMBEDDED_SERVER=1 編譯嵌入式服務器支持
-DMYSQL_USER=mysql 指定mysql用戶(默認為mysql)
-DWITH_DEBUG=0 禁用debug(默認為禁用)
-DENABLE_PROFILING=0 禁用Profiling分析(默認為開啟)
-DWITH_COMMENT='string' 一個關于編譯環境的描述性注釋
}
{mysql cmake常見參數解釋:
-DCMAKE_INSTALL_PREFIX= 指向mysql安裝目錄
-DINSTALL_SBINDIR=sbin 指向可執行文件目錄(prefix/sbin)
-DMYSQL_DATADIR=/var/lib/mysql 指向mysql數據文件目錄(/var/lib/mysql)
-DSYSCONFDIR=/etc/mysql 指向mysql配置文件目錄(/etc/mysql)
-DINSTALL_PLUGINDIR=lib/mysql/plugin 指向插件目錄(prefix/lib/mysql/plugin)
-DINSTALL_MANDIR=share/man 指向man文檔目錄(prefix/share/man)
-DINSTALL_SHAREDIR=share 指向aclocal/mysql.m4安裝目錄(prefix/share)
-DINSTALL_LIBDIR=lib/mysql 指向對象代碼庫目錄(prefix/lib/mysql)
-DINSTALL_INCLUDEDIR=include/mysql 指向頭文件目錄(prefix/include/mysql)
-DINSTALL_INFODIR=share/info 指向info文檔存放目錄(prefix/share/info)
}
# make //源代碼編譯
# make install //執行源代碼編譯
# rm -rf /etc/my.cnf //刪除/etc/my.cnf/配置
# cp /usr/src/mysql-5.5.22/support-files/my-medium.cnf /etc/my.cnf
//將文件復制到/etc/my.cnf
# cp /usr/src/mysql-5.5.22/support-files/mysql.server /etc/rc.d/init.d/mysqld
//復制文件到/etc/rc.d/init.d/mysqld
# chmod +x /etc/rc.d/init.d/mysqld //可執行的權限
# chkconfig --add mysqld//添加mysqld服務
設置環境變量,在任何目錄下都可以使用mysql命令
# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
//將環境變量下的文件輸出到 /etc/profile
# . /etc/profile //執行文件
1.創建數據庫用戶
# groupadd mysql //添加組
# useradd -M -s /sbin/nologin mysql -g mysql //添加用戶
2.對數據庫目錄進行權限設置
# chown -R mysql:mysql /usr/local/mysql
3.初始化數據
# /usr/local/mysql/scripts/mysql_install_db
--user=mysql
--basedir=/usr/local/mysql
--datadir=/usr/local/mysql/data/
// 初始化mysql數據庫,指定用戶和數據庫文件的存放位置
# service mysqld start //啟動mysql
# /etc/init.d/mysqld status //查看mysql的狀態
# netstat -anpt | grep mysqld //過濾mysql啟用的端口
# mysqladmin -u root -p password ‘123456’
# mysql -u root –p //登錄數據庫
mysql> SHOW MASTER LOGS;
mysql> EXIT
#tar zxf libmcrypt-2.5.8.tar.gz -C /usr/src/ //解壓libmcrypt
#cd /usr/src/libmcrypt-2.5.8/ //進入解壓文件
#./configure //編譯
#make && make install //源代碼編譯,可執行源代碼編譯
#ln -s /usr/locall/lib/libmcrypt.* /usr/lib/ //軟銜接
#tar zxf mhash-0.9.9.9.tar.gz -C /usr/src/ //解壓mhash
#cd /usr/src/mhash-0.9.9.9/ //進入解壓文件
#./configure //編譯
#make && make install //源代碼編譯,可執行源代碼
#ln -s /usr/local/lib/libmhash* /usr/lib/ //軟銜接
#tar zxf mcrypt-2.6.8.tar.gz -C /usr/src/ //解壓mcrypt
#cd /usr/src/mcrypt-2.6.8 //進入解壓文件
#./configure //編譯
#export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
//設置環境變量,將編譯的源代碼輸出代/usr/local/lib
#./configure //編譯
#make && make install //源代碼編譯,可執行源代碼
#tar zxf php-5.3.28.tar.gz -C /usr/src //解壓
#cd /usr/src/php-5.3.28 //進入解壓文件
#./configure
--prefix=/usr/local/php5
--with-mcrypt
--with-apxs2=/usr/local/httpd/bin/apxs
--with-mysql=/usr/local/mysql
--with-config-file-path=/usr/local/php5
--enable-mbstring
//設置安裝路徑, 編譯mcrypt加密支持, 編譯共享的 Apache 2.0 模塊, --with-mysql=/usr/local/mysql : 啟用mysql支持, 指定配置文件php.ini地址, 啟用支持多字節字符串
{編譯參數解釋:
--prefix=/usr/local/php : 設置安裝路徑
--with-apxs2=/usr/local/apache/bin/apxs : 編譯共享的 Apache 2.0 模塊
--with-config-file-path=/etc : 指定配置文件php.ini地址
--with-config-file-scan-dir=/etc/php.d : 指定額外的ini文件目錄
--with-openssl : 編譯OpenSSL支持
--with-zlib : 編譯zlib支持
--enable-bcmath : 啟用BC風格精度數學函數
--with-bz2 : BZip2支持
--with-gd : GD支持
--enable-gd-native-ttf : 啟用TrueType字符串函數
--with-gettext : 啟用GNU gettext支持
--with-mhash : mhash支持
--enable-mbstring : 啟用支持多字節字符串
--with-mcrypt : 編譯mcrypt加密支持
--enable-zip : 啟用zip 讀/寫支持
--with-iconv=/usr/local/libiconv : iconv支持
--with-curl : CRUL支持
--enable-soap : SOAP支持
--enable-sockets : SOCKETS支持
--enable-ftp : FTP支持
--with-mysql=/usr/local/mysql : 啟用mysql支持
--with-pdo-mysql=/usr/local/mysql : 啟用pdo-mysql支持
--without-pear : 不安裝PEAR}
#make //源代碼編譯
#make install //執行源代碼
#cp /usr/src/php-5.3.6/php.ini-development /usr/local/php5/php.ini
//將php.ini的配置文件復制
#vim /usr/local/php5/php.ini
default_charset = "utf-8” //設置默認字符集
file_uploads = On //允許PHP網頁上傳文件
upload_max_filesize = 2M //上傳文件大小
max_file_uploads = 20 //每個HHTP最多允許上傳數
post_max_size = 8M //每次通過表單post提交的數量
short_open_tag = On //允許識別PHP短語法標記
5.4添加ZendGuardLoader優化模塊
#tar zxf ZendGuardLoader-php-5.3-linux-glibc23-i386.tar.gz -C /usr/src/ //解壓
#cd /usr/src/ZendGuardLoader-php-5.3-linux-glibc23-i386/php-5.3.x/ //進入解壓文件
#cp ZendGuardLoader.so /usr/local/php5/lib/php/ //將解壓文件下的文件復制
#vim /usr/local/php5/php.ini //編輯優化模塊的配置文檔
zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1
#vim /usr/local/httpd/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
DirectoryIndex index.php index.html
AddType application/x-httpd-php .php
#/usr/local/httpd/bin/apachectl restart
#vim /usr/local/httpd/htdocs/test1.php
<?php
phpinfo( );
?>
網頁訪問http://ns1.benet.com/test1.php
#vim /usr/local/httpd/htdocs/test2.php
<?php
$link=mysql_connect('localhost','root','123456');
if($kink) echo "恭喜你,數據庫連接成功了!!";
mysql_close();
?>
網頁訪問http://ns1.benet.com/test2.php
#mkdir -p /usr/local/httpd/htdocs/phpMyAdmin
#tar zxf phpMyAdmin-4.2.5-all-languages.tar.gz
#cp phpMyAdmin-4.2.5-all-languages/ /usr/local/httpd/htdocs/phpMyAdmin
#cd /usr/local/httpd/htdocs/phpMyAdmin/
#cp config.sample.inc.php config.inc.php
# vi config.inc.php
$cfg['blowfish_secret'] = 'pwd@123';
網頁測試:http://ns1.benet.com/phpMyAdmin(用修改的密碼登錄)
mysql> CREATE DATABASE bbsdb; //(登錄進phpMyAdmin中創建數據庫)
Query OK, 1 row affected (0.01 sec)
mysql> GRANT all ON bbsdb.* TO 'runbbs'@'localhost' IDENTIFIED BY ‘adm123'; //創建用戶
Query OK, 0 rows affected (0.01 sec)
[root@www ~]# unzip Discuz_7.2_FULL_SC_UTF8.zip -d DiscuzPkg //解壓論壇包
[root@www ~]# ls -lh DiscuzPkg/ // 顯示論壇包解壓的文件
drwxr-xr-x 2 root root 4.0K 2010-01-06 readme
drwxr-xr-x 18 root root 4.0K 2010-01-06 upload
drwxr-xr-x 2 root root 4.0K 2010-01-06 utilities
mv DiscuzPkg/upload/ /usr/local/httpd/htdocs/bbs //將解壓論壇包目錄下的upload文件移到/usr/local/httpd/htdocs/bbs下
[root@www ~]# grep "^User" /usr/local/httpd/conf/httpd.conf //確定http運行用戶
User daemon
[root@www ~]# cd /usr/local/httpd/htdocs/bbs
[root@www bbs]# chown -R daemon templates/ attachments/ forumdata/ //賦予權限
[root@www bbs]# chown -R daemon uc_client/data/cache/ config.inc.php //賦予權限
[root@www bbs]# ls -ld templates/ attachments/ forumdata/ //確認是否有讀寫權限
drwxr-xr-x 2 daemon root 4096 2010-01-06 attachments/
drwxr-xr-x 9 daemon root 4096 2010-01-06 forumdata/
drwxr-xr-x 11 daemon root 4096 2010-01-06 templates/
(登錄網站并注冊)
[root@www ~]# cd /usr/local/httpd/htdocs/bbs //進入目錄
[root@www bbs]# mv install/ install.lock //usr/local/httpd/htdocs/bbs/
目錄下的文件
[root@www bbs]# chmod 600 install.lock/ //賦予權限
[root@www bbs]# ls -ld install.lock/ //確認是否賦予了權限
關于怎么進行LAMP服務搭建問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。