目前最爲成熟的一-種企業網站應用模式,可提供動態Web站點應
用及開發環境
一、構成組件
●Linux、 Apache、 MySQL、PHP/Perl/Python
二、LAMP的優點
●成本低廉
●可定製、易於開發
●方便易用、安全和穩定php
一、編譯安裝的優勢
●具備較大的自由度,功能可定製
●可及時得到最新的軟件版本
●廣泛適用於大多數Linux版本,便於移植使用
二、得到Apache服務器的源碼包
●參考地址: htp://ttpd.apache .org/download.cgihtml
三、httpd.conf配置文件參數
經常使用的全局配置參數mysql
●ServerRoot:服務目錄
●Listen:監聽的IP地址、端口號
●User:運行服務的用戶身份
●Group:運行服務的組身份
●ServerAdmin:管理員郵箱
●ServerName:網站服務器的域名
●DocumentRoot:網頁文檔的根目錄(站點)
●DirectoryIndex:默認的索引頁文件(首頁)
●ErrorLog:設置錯誤日誌文件的路徑(服務出錯看日誌)
●LogL .evel:記錄日誌的級別,默認爲warn
●CustomL og:訪問日誌文件的位置
●PidFile:保存httpd進程PID號的文件(PID:117)
●AddDefaultCharset:設置站點中的網頁默認使用的字符集編碼
●Timeout:網絡鏈接超時,默認爲300秒
●KeepAlive:是否保持鏈接,可選On或Off
●MaxKeepAliveRequests:每次鏈接最多請求文件數
●KeepAlive Timeout:保持鏈接狀態時的超時時間
●Include:須要包含進來的其餘配置文件c++
Listen:監聽的IP地址,端口號 ServerName:網站服務器的域名 這兩個後面須要修改
一、先在宿主機把咱們須要的源碼包(源碼包小編有,私聊便可到手)共享出來。若實在共享不出來,則直接把源代碼壓縮包拷貝進虛擬機(鼠標點住拖到Linux的主文件夾下便可,簡單快捷,小編親測有效)正則表達式
二、給宿主機的vmnet1網卡設置IP地址
三、掛載共享文件到mnt目錄,若直接拖進來的,文件則在桌面主文件下。sql
[root@localhost ~]# smbclient -L //192.168.100.3/ //訪問宿主機的IP地址 Enter SAMBA\root's password: OS=[Windows 10 Enterprise 17763] Server=[Windows 10 Enterprise 6.3] Sharename Type Comment --------- ---- ------- ADMIN$ Disk 遠程管理 C$ Disk 默認共享 D$ Disk 默認共享 E$ Disk 默認共享 F$ Disk 默認共享 G$ Disk 默認共享 IPC$ IPC 遠程 IPC LAMP Disk LAMP-C7 Disk share Disk Users Disk Connection to 192.168.100.3 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND) NetBIOS over TCP disabled -- no workgroup available [root@localhost ~]# mount.cifs //192.168.100.3/LAMP-C7 /mnt/ //掛載到mnt目錄 Password for root@//192.168.100.3/LAMP-C7: [root@localhost ~]# cd /mnt [root@localhost mnt]# ls 看掛載目錄下有沒有這些源碼包 [root@localhost mnt]# 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
四、將底層的跨平臺工具包解壓到opt目錄底下,HTTP工具包解壓到opt目錄底下,再把跨平臺工具包解壓好的兩個文件放到HTTP工具包下數據庫
tar zxvf apr-1.6.2.tar.gz -C /opt tar zxvf apr-util-1.6.0.tar.gz -C /opt tar jxvf httpd-2.4.29.tar.bz2 -C /opt mv apr-1.6.2 httpd-2.4.29/srclib/apr mv apr-util-1.6.0 httpd-2.4.29/srclib/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]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util [root@localhost opt]# ls httpd-2.4.29 rh
五、安裝搭建實驗的環境包apache
[root@localhost opt]# yum -y install \ gcc \ gcc-c++ \ //環境語言 make \ //編譯成能讓計算機識別的語言 pcre-devel \ //pcre語言,就像正則表達式同樣 expat-devel \ //支持識別標籤性語言 perl //perl編譯器
六、手工編譯安裝vim
[root@localhost opt]# cd httpd-2.4.29/ [root@localhost httpd-2.4.29]# ./configure \ > --prefix=/usr/local/httpd \ //"\"表明換行表示,指定路徑 > --enable-so \ //apache核心模塊開啓 > --enable-rewrite \ //開啓重寫功能,防盜鏈 > --enable-charset-lite \ //支持字符集,簡體中文 > --enable-cgi //通用網關接口 > config.status: creating build/rules.mk config.status: creating build/pkg/pkginfo config.status: creating build/config_vars.sh config.status: creating include/ap_config_auto.h config.status: executing default commands configure: summary of build options:
七、配置文件編譯轉換成主機能識別的語言,再安裝後端
[root@localhost httpd-2.4.29]# make les -module -avoid-version mod_rewrite.lo make[4]: 離開目錄「/opt/httpd-2.4.29/modules/mappers」 make[3]: 離開目錄「/opt/httpd-2.4.29/modules/mappers」 make[2]: 離開目錄「/opt/httpd-2.4.29/modules」 make[2]: 進入目錄「/opt/httpd-2.4.29/support」 make[2]: 離開目錄「/opt/httpd-2.4.29/support」 make[1]: 離開目錄「/opt/httpd-2.4.29」 [root@localhost httpd-2.4.29]# make install Installing man pages and online manual mkdir /usr/local/httpd/man mkdir /usr/local/httpd/man/man1 mkdir /usr/local/httpd/man/man8 mkdir /usr/local/httpd/manual make[1]: 離開目錄「/opt/httpd-2.4.29」
八、Apache啓動腳本放進去方便管理,從新命名httpd
[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
九、進入vi /etc/init.d/httpd配置文件參數
配置文件首行加入參數 #/bin/sh #hkconfig: 35 85 21 //35級別自動運行 第85個啓動 第21個關閉 #escription: Apache is a World Wide Web server
十、httpd服務加入到Service管理器,便於開啓、關閉以及加載等。
[root@localhost init.d]# chkconfig --add httpd [root@localhost init.d]#
十一、vim /usr/local/httpd/conf/httpd.conf //到配置文件中配置參數
#ServerName www.yun.com:80 #Listen 192.168.136.132:80 Listen 80 (數據查找並更改)
十二、建立軟連接,便於調取
ln -s /usr/local/httpd/conf/httpd.conf /etc/ //作個軟連接,下次直接就輸入vim /etc/httpd.conf就行 ln -s /usr/local/httpd/bin/* /usr/local/bin/ //作個軟連接,便於你的系統能夠識別
1三、檢查配置文件語法錯誤
[root@localhost init.d]# httpd -t AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message Syntax OK [root@localhost init.d]# apachectl -t AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message Syntax OK
1四、一系列操做後,開啓服務
[root@localhost init.d]# systemctl stop firewalld.service //關閉防火牆 [root@localhost init.d]# setenforce 0 //關閉加強功能 [root@localhost init.d]# service httpd start //開啓http服務 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message httpd (pid 70331) already running [root@localhost init.d]# netstat -anpt | grep 80 //查看監聽端口 tcp 0 0 192.168.136.132:22 192.168.136.1:58031 ESTABLISHED 3506/sshd: root@pts tcp6 0 0 :::80 :::* LISTEN 70331/httpd [root@localhost init.d]#
1五、在Linux上能夠訪問HTTP服務,即第一步Apache網站搭建成功。
一、編碼安裝MYSQL數據庫
[root@localhost init.d]# yum install ncurses-devel autoconf cmake -y //安裝環境包和Cmake工具包 已加載插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * extras: mirrors.nju.edu.cn * updates: mirrors.nju.edu.cn 正在解決依賴關係 --> 正在檢查事務 ---> 軟件包 autoconf.noarch.0.2.69-11.el7
二、數據庫的軟件包解壓縮到opt底下,編譯環境包
[root@localhost mnt]# cd /mnt
tar xzvf mysql-5.6.26.tar.gz -C /opt
[root@localhost mnt]# cd /opt
[root@localhost opt]# ls
httpd-2.4.29 mysql-5.6.26 rh
[root@localhost opt]# cd /opt/mysql-5.6.26/
[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 //定義sock文件鏈接數據庫文件
三、編譯安裝,能讓計算機識別。若是出error報錯,必定是配置文件更改有誤或路徑出錯,回去查看。
[root@localhost mysql-5.6.26]# make [root@localhost mysql-5.6.26]# make install [100%] Building CXX object libmysqld/examples/CMakeFiles/mysql_embedded.dir/__/__/client/readline.cc.o Linking CXX executable mysql_embedded [100%] Built target mysql_embedded Scanning dependencies of target mysqltest_embedded [100%] Building CXX object libmysqld/examples/CMakeFiles/mysqltest_embedded.dir/__/__/client/mysqltest.cc.o Linking CXX executable mysqltest_embedded [100%] Built target mysqltest_embedded Scanning dependencies of target my_safe_process [100%] Building CXX object mysql-test/lib/My/SafeProcess/CMakeFiles/my_safe_process.dir/safe_process.cc.o Linking CXX executable my_safe_process [100%] Built target my_safe_process
四、配置數據庫
[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]# [root@localhost mysql-5.6.26]# cp support-files/mysql.server /etc/init.d/mysqld //把配置文件放到啓動腳本 cp:是否覆蓋"/etc/init.d/mysqld"? yes [root@localhost mysql-5.6.26]# chmod 755 /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 //35級別開啓 [root@localhostmysql5.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/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/root/bin:/usr/local/mysql/bin:/usr/local/mysql/bin:/usr/local/mysql/bin [root@localhost mysql-5.6.26]# useradd -s /sbin/nologin mysql //建立程序用戶,不讓它登陸本地控制檯 [root@localhost mysql-5.6.26]# chown -R mysql:mysql //提高路徑下全部用戶的權限 /usr/local/mysql/
五、將數據信息載入到數據庫中
[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 //數據庫存放目錄
六、開啓數據庫
[root@localhost mysql]# vim /etc/init.d/mysqld 46 basedir=/usr/local/mysql //指明路徑 46行 47 datadir=/home/mysql //指明數據庫存放位置 47行 [root@localhost mysql]# vim /etc/init.d/mysqld [root@localhost mysql]# service mysqld start //開啓數據庫 Starting MySQL.... SUCCESS! [root@localhost mysql]# netstat -anpt | grep 3306 //查看監聽端口 tcp6 0 0 :::3306 :::* LISTEN 6458/mysqld
七、給數據庫管理員設置一個密碼:abc123
[root@localhost mysql]# mysqladmin -u root -p password "abc123" Enter password: Warning: Using a password on the command line interface can be insecure.
一、安裝環境
root@localhost opt]# yum -y install \ gd \ //圖像化處理, libpng \ //支持PNG圖片 libpng-devel \ pcre \ pcre-devel \ libxml2-devel \ //支持解析,標籤性語言 libjpeg-devel //支持jpg圖片格式
二、解壓並關聯數據庫和Apache
[root@localhost mnt]# tar xjvf php-5.6.11.tar.bz2 -C /opt cd /opt/php-5.6.11/ [root@localhost php-5.6.11]# ./configure \ > --prefix=/usr/local/php5 \ //指定安裝路徑 > --with-gd \ //gd庫,圖像化處理 > --with-zlib \ //函數庫 > --with-apxs2=/usr/local/httpd/bin/apxs \ //給apache提供功能性模塊 > --with-mysql=/usr/local/mysql \ //關聯數據庫 > --with-config-file-path=/usr/local/php5 \ //關聯PHP配置 > --enable-mbstring //功能性模塊加載
三、編譯、安裝以及建立軟連接,細心一點。
[root@localhost php-5.6.11]#make [root@localhost php-5.6.11]#make install Installing PEAR environment: /usr/local/php5/lib/php/ [PEAR] Archive_Tar - installed: 1.3.12 [PEAR] Console_Getopt - installed: 1.3.1 [PEAR] Structures_Graph- installed: 1.0.4 [PEAR] XML_Util - installed: 1.2.3 [PEAR] PEAR - installed: 1.9.5 Wrote PEAR system config file at: /usr/local/php5/etc/pear.conf You may want to add: /usr/local/php5/lib/php to your php.ini include_path /opt/php-5.6.11/build/shtool install -c ext/phar/phar.phar /usr/local/php5/bin ln -s -f phar.phar /usr/local/php5/bin/phar Installing PDO headers: /usr/local/php5/include/php/ext/pdo/ [root@localhost php-5.6.11]# cp php.ini-development /usr/local/php5/php.ini //複製配置文件到php.ini中 [root@localhost php-5.6.11]# ln -s /usr/local/php5/bin/* /usr/local/bin/ 把php5的全部命令作個軟連接 [root@localhost php-5.6.11]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/ [root@localhost php-5.6.11]# vim /etc/httpd.conf <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>//默認首頁加上php AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps//加入PHP的配置文件
四、進入網頁配置文件、更名、PHP
[root@localhost php-5.6.11]# cd /usr/local/httpd/htdocs/ root@localhost htdocs]# mv index.html index.php vi /usr/local/httpd/htdocs/index.php <?php phpinfo(); ?> [root@localhost htdocs]# ls index.php
五、LAMP架構成型。
六、配置數據庫Mysql
[root@localhost ~]# cd /mnt //咱們的論壇包在咱們以前的源碼包中,要的私信我 [root@localhost mnt]# ls apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 php-5.6.11.tar.bz2 apr-util-1.6.0.tar.gz LAMP-php5.6.txt Discuz_X2.5_SC_UTF8.zip mysql-5.6.26.tar.gz [root@localhost mnt]# mysql -u root -p //進入數據庫 Enter password: //輸入你的設置的密碼abc123 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 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.00 sec) mysql> show databases; //查看數據庫 +--------------------+ | Database | +--------------------+ | information_schema | | bbs | | mysql | | performance_schema | | test | +--------------------+ 5 rows in set (0.02 sec) mysql> GRANT all ON bbs.* TO 'bbsuser'@'192.168.102.166' IDENTIFIED BY 'admin123'; //提高權限給BBS數據庫當中全部的表格,給bbsuser用戶,給全部終端能夠登陸,設置密碼admin123 Query OK, 0 rows affected (0.01 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> exit //退出 Bye
七、論壇的源代碼包解壓到opt目錄下
[root@localhost htdocs]# cd /mnt [root@localhost mnt]# ls apr-1.6.2.tar.gz httpd-2.4.29.tar.bz2 php-5.6.11.tar.bz2 apr-util-1.6.0.tar.gz LAMP-php5.6.txt Discuz_X2.5_SC_UTF8.zip mysql-5.6.26.tar.gz [root@localhost mnt]#Discuz_X2.5_SC_UTF8.zip -d /opt/dis //把這個論壇包解壓到OPT底下 creating: /opt/dis/utility/oldprg/uchome/ inflating: /opt/dis/utility/oldprg/uchome/invite.php inflating: /opt/dis/utility/oldprg/uchome/space.php inflating: /opt/dis/utility/restore.php inflating: /opt/dis/utility/update.php [root@localhost mnt]#cd /opt/dis [root@localhost dis]#cp -r upload/ /usr/local/httpd/htdocs/bbs ////把網站全部的東西,複製到apache站點中起個名字bbs [root@localhost bbs]# cd /usr/local/httpd/htdocs/ [root@localhost htdocs]# ls //查看有沒有這個頁面配置文件 bbs index.php
八、訪問bbs頁面
九、給程序用戶提高權限
[root@localhost htdocs]# cd bbs/ [root@localhost bbs]# ls -l 總用量 76 -rw-r--r--. 1 root root 2603 10月 20 10:13 admin.php drwxr-xr-x. 11 root root 163 10月 20 10:13 api -rw-r--r--. 1 root root 727 10月 20 10:13 api.php drwxr-xr-x. 2 root root 23 10月 20 10:13 archiver drwxr-xr-x. 2 root root 90 10月 20 10:13 config -rw-r--r--. 1 root root 922 10月 20 10:13 connect.php -rw-r--r--. 1 root root 253 10月 20 10:13 cp.php -rw-r--r--. 1 root root 106 10月 20 10:13 crossdomain.xml drwxr-xr-x. 13 root root 216 10月 20 10:13 data -rw-r--r--. 1 root root 5558 10月 20 10:13 favicon.ico -rw-r--r--. 1 root root 2110 10月 20 10:13 forum.php -rw-r--r--. 1 root root 823 10月 20 10:13 group.php -rw-r--r--. 1 root root 1223 10月 20 10:13 home.php -rw-r--r--. 1 root root 5448 10月 20 10:13 index.php drwxr-xr-x. 5 root root 64 10月 20 10:13 install -rw-r--r--. 1 root root 1040 10月 20 10:13 member.php -rw-r--r--. 1 root root 1381 10月 20 10:13 misc.php -rw-r--r--. 1 root root 1757 10月 20 10:13 plugin.php -rw-r--r--. 1 root root 985 10月 20 10:13 portal.php -rw-r--r--. 1 root root 582 10月 20 10:13 robots.txt -rw-r--r--. 1 root root 1158 10月 20 10:13 search.php drwxr-xr-x. 10 root root 168 10月 20 10:13 source drwxr-xr-x. 6 root root 72 10月 20 10:13 static drwxr-xr-x. 3 root root 38 10月 20 10:13 template drwxr-xr-x. 6 root root 92 10月 20 10:13 uc_client drwxr-xr-x. 13 root root 241 10月 20 10:13 uc_server -rw-r--r--. 1 root root 1691 10月 20 10:13 userapp.php [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]# [root@localhost bbs]# ls -l 總用量 76 -rw-r--r--. 1 root root 2603 10月 20 10:13 admin.php drwxr-xr-x. 11 root root 163 10月 20 10:13 api -rw-r--r--. 1 root root 727 10月 20 10:13 api.php drwxr-xr-x. 2 root root 23 10月 20 10:13 archiver drwxr-xr-x. 2 daemon root 90 10月 20 10:13 config -rw-r--r--. 1 root root 922 10月 20 10:13 connect.php -rw-r--r--. 1 root root 253 10月 20 10:13 cp.php -rw-r--r--. 1 root root 106 10月 20 10:13 crossdomain.xml drwxr-xr-x. 13 daemon root 216 10月 20 10:13 data -rw-r--r--. 1 root root 5558 10月 20 10:13 favicon.ico -rw-r--r--. 1 root root 2110 10月 20 10:13 forum.php -rw-r--r--. 1 root root 823 10月 20 10:13 group.php -rw-r--r--. 1 root root 1223 10月 20 10:13 home.php -rw-r--r--. 1 root root 5448 10月 20 10:13 index.php drwxr-xr-x. 5 root root 64 10月 20 10:13 install -rw-r--r--. 1 root root 1040 10月 20 10:13 member.php -rw-r--r--. 1 root root 1381 10月 20 10:13 misc.php -rw-r--r--. 1 root root 1757 10月 20 10:13 plugin.php -rw-r--r--. 1 root root 985 10月 20 10:13 portal.php -rw-r--r--. 1 root root 582 10月 20 10:13 robots.txt -rw-r--r--. 1 root root 1158 10月 20 10:13 search.php drwxr-xr-x. 10 root root 168 10月 20 10:13 source drwxr-xr-x. 6 root root 72 10月 20 10:13 static drwxr-xr-x. 3 root root 38 10月 20 10:13 template drwxr-xr-x. 6 daemon root 92 10月 20 10:13 uc_client drwxr-xr-x. 13 root root 241 10月 20 10:13 uc_server -rw-r--r--. 1 root root 1691 10月 20 10:13 userapp.php
十、點下一步
十一、信息不要填錯,不然進不去。給管理員設置一個密碼。
十二、.輸入http://192.168.136.132/bbs 就能進入論壇首頁
1三、輸入http://192.168.136.132/bbs/admin.php 就能進入後端進行操做,輸入密碼,用戶名進行登錄,登錄進去後可任意操做。