當(dāng)有些新增的軟件版本出現(xiàn),而你想要進(jìn)行嘗試使用,但是在本地用yum安裝卻不能滿(mǎn)足你的需求時(shí), 那么朋友,你需要和我一樣用源碼安裝的形式來(lái)達(dá)成你的目的。
因?yàn)殚_(kāi)發(fā)的同事想要一個(gè)Apache 2.4.25 + MySQL 5.7.17 + php7.1.5 + yii2-basic的環(huán)境來(lái)做活動(dòng)。
成都創(chuàng)新互聯(lián)專(zhuān)注于延川企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站定制開(kāi)發(fā)。延川網(wǎng)站建設(shè)公司,為延川等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
為了滿(mǎn)足應(yīng)用需求,現(xiàn)在我們就開(kāi)始著手做吧!
一、安裝Apache
本來(lái)在本地,只要你能聯(lián)網(wǎng),就能夠用yum輕輕松松安裝上Apache,而且安裝的版本會(huì)比官網(wǎng)上
下載的最新源碼包還要新。
但我發(fā)現(xiàn)yum安裝的Apache不能夠滿(mǎn)足我后期的一些需求,大部分程度應(yīng)該是因?yàn)槲也徊爬玻?/p>
所以我就直接選擇了源碼安裝。
當(dāng)然有過(guò)源碼安裝的朋友也一定知道,會(huì)有依賴(lài)庫(kù)要先裝哦,不然在源碼安裝的時(shí)候就會(huì)提示哪些依賴(lài)庫(kù)找不到,導(dǎo)致裝不上。
很簡(jiǎn)單先安裝Apache的依賴(lài)包:zlib zlib-devel pcre-devel pcre apr apr-util
在源碼安裝apache之前,我們要先卸載系統(tǒng)中已經(jīng)通過(guò)rpm包安裝的apache。如下:
先找出裝好的httpd的rpm包
rpm -qa |grep httpd
通過(guò)指令卸載安裝好的httpd相關(guān)的rpm包
rpm -e --nodeps httpd-2.4.6-1.el7.centos.x86_64 rpm -e --nodeps httpd-tools-2.4.6-1.el7.centos.x86_64
我為了方便安裝依賴(lài)包都用yum安裝, 但是有兩個(gè)依賴(lài)包(apr、apr-util)在Apache編譯的時(shí)候找不到類(lèi)庫(kù),所以只能采取源碼安裝形式再次安裝。
在http://apr.apache.org/download.cgi可以找到這兩個(gè)依賴(lài)庫(kù)的安裝包
http://mirrors.noc.im/apache//apr/apr-1.5.2.tar.gz
http://mirrors.noc.im/apache//apr/apr-util-1.5.4.tar.gz
然后分別在系統(tǒng)的目錄下解壓,并安裝(一定要確保安裝了 gcc-c++ 、make沒(méi)有的話使用 yum install gcc-c++ make 進(jìn)行安裝)
tar -xf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/data0/apr/ make && make install tar -xf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/data0/apr-util --with-apr=/data0/apr/ make && make install
好了,到這里,就可以開(kāi)始安裝Apache了
先到Apache官網(wǎng)下載你想要的版本 http://httpd.apache.org/download.cgi 現(xiàn)在最新的穩(wěn)定版本2.4.25
下載以后解壓
tar -xf httpd-2.4.25.tar.gz
進(jìn)入解壓的目錄
cd httpd-2.4.25
可以根據(jù)你自己的需求來(lái)安裝配置,使用./configure --help查看
查看完安裝要配置哪些參數(shù)以后,我們就要開(kāi)始配置參數(shù)并且檢查了
./configure \ --prefix=/data0/apache/ \ --with-apr=/data0/apr/ \ --with-apr-util=/data0/apr-util/ \ --enable-so \ --enbale-deflate=shared \ --enbale-expires=shared \ --enable-rewrite=shared \ --enable-static-support
如果沒(méi)有錯(cuò)誤提示,那么開(kāi)始編譯安裝
make && make install
安裝完畢以后,進(jìn)入到安裝目錄,開(kāi)啟Apache服務(wù)
cd /data0/apache/bin/ ./apachectl start
可能會(huì)報(bào)錯(cuò):
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
沒(méi)關(guān)系,可以解決:
vim /data0/apache/conf/httpd.conf ##增加一行 ServerName localhost
修改完配置檔,重啟服務(wù),讓它生效:用瀏覽器訪問(wèn)http://IP,看看是不是出現(xiàn)it works!
到這里,可以說(shuō)Apache安裝完畢
將apache的啟動(dòng)腳本復(fù)制到/etc/rc.d/init.d這個(gè)目錄下
cp /data0/apache/bin/apachectl /etc/init.d/httpd
其實(shí)apache的啟動(dòng)是調(diào)用/data0/apache/bin/httpd這個(gè)命令,查看該腳本的內(nèi)容,如下:
cat /etc/init.d/httpd|grep -v ^#|grep -v ^$ ACMD="$1" ARGV="$@" HTTPD='/data0/apache//bin/httpd' if test -f /data0/apache//bin/envvars; then . /data0/apache//bin/envvars fi LYNX="lynx -dump" STATUSURL="http://localhost:80/server-status" ULIMIT_MAX_FILES="ulimit -S -n `ulimit -H -n`" if [ "x$ULIMIT_MAX_FILES" != "x" ] ; then $ULIMIT_MAX_FILES fi ERROR=0 if [ "x$ARGV" = "x" ] ; then ARGV="-h" fi case $ACMD in start|stop|restart|graceful|graceful-stop) $HTTPD -k $ARGV ERROR=$? ;; startssl|sslstart|start-SSL) echo The startssl option is no longer supported. echo Please edit httpd.conf to include the SSL configuration settings echo and then use "apachectl start". ERROR=2 ;; configtest) $HTTPD -t ERROR=$? ;; status) $LYNX $STATUSURL | awk ' /process$/ { print; exit } { print } ' ;; fullstatus) $LYNX $STATUSURL ;; *) $HTTPD "$@" ERROR=$? esac exit $ERROR
啟動(dòng)apache,如下:
/etc/init.d/httpd start netstat -lntp|grep 80 lsof -i :80
也可以使用/data0/apache/bin/httpd進(jìn)行啟動(dòng)。如下:
/data0/apache/bin/httpd –k start
bin主要存放程序命令目錄,。
conf主要存放apache配置文件。
htdocs主要存放站點(diǎn)目錄。
logs主要存放默認(rèn)日志文件。
modules主要存放apache的運(yùn)行模塊。例如php、memcache編譯后的模塊存放在這里。
二、MySQL源碼安裝
好了,開(kāi)始著手MySQL的安裝
1.安裝前進(jìn)行依賴(lài)包安裝
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake bison bison-devel openssl openssl-devel pcre pcre-devel
2.下載源碼包
2.1 建議到官方網(wǎng)站下載http://dev.mysql.com/downloads/mysql/,選擇“Source Code”。下載的過(guò)程,需要注冊(cè)一個(gè)Oracle賬戶(hù),如果有直接登錄就好
2.2 提供一個(gè)下載地址:http://101.96.10.47/dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.17.tar.gz
或者h(yuǎn)ttps://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz
新版本的源碼增加了boost庫(kù),如果你下的源碼里面沒(méi)有需要下載這個(gè)庫(kù),否則會(huì)報(bào)錯(cuò),故需進(jìn)行下載
3.新建MySQL用戶(hù)和用戶(hù)組
groupadd -r mysql useradd -r -g mysql mysql
4.進(jìn)入安裝步驟
tar -zvxf mysql-boost-5.7.17.tar.gz cd mysql-5.7.17
新建MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)文件目錄
mkdir -p /www/mysql-data mkdir -p /www/mysql-logs mkdir -p /www/mysql-temp
進(jìn)行預(yù)編譯
cmake -DCMAKE_INSTALL_PREFIX=/www/mysql \ -DMYSQL_DATADIR=/www/mysql-data \ -DMYSQL_UNIX_ADDR=/www/mysql/mysql.sock \ -DWITH_BOOST=/www/boost_1_59_0 \ -DSYSCONFDIR=/etc \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DWITH_FEDERATED_STORAGE_ENGINE=1 \ -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DENABLED_LOCAL_INFILE=1 \ -DENABLE_DTRACE=0 \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_general_ci \ -DWITH_EMBEDDED_SERVER=1
上述配置解釋?zhuān)?/p>
-DCMAKE_INSTALL_PREFIX=/www/mysql //設(shè)置安裝目錄 -DMYSQL_DATADIR=/www/mysql/data //設(shè)置數(shù)據(jù)庫(kù)存放目錄 -DMYSQL_UNIX_ADDR=/www/mysql/mysql.sock //設(shè)置UNIX socket目錄 -DDEFAULT_CHARSET=utf8mb4 //設(shè)置默認(rèn)字符集 -DDEFAULT_COLLATION=utf8mb4_general_ci //設(shè)置默認(rèn)校對(duì)規(guī)則 -DWITH_INNOBASE_STORAGE_ENGINE=1 //添加InnoDB引擎支持 -DSYSCONFDIR=/etc //設(shè)置my.cnf配置文件的所在目錄,默認(rèn)為安裝目錄,沒(méi)有的話,後期可添加一份至此
進(jìn)行編譯安裝
make && make install
#安裝完成后清理一下零時(shí)文件
make clean
設(shè)置啟動(dòng)腳本,開(kāi)機(jī)自啟動(dòng)(即將mysql做成服務(wù))
#拷貝可執(zhí)行文件到指定的目錄下,并修改名字為mysqld
cp /www/mysql/support-files/mysql.server /etc/init.d/mysqld
#授予可執(zhí)行的權(quán)限
chmod +x /etc/init.d/mysqld
#設(shè)置為開(kāi)機(jī)啟動(dòng)
systemctl enable mysqld
修改mysql的可執(zhí)行目錄
chown -Rf mysql:mysql /www/mysql chown -Rf mysql:mysql /www/mysql-data chown -Rf mysql:mysql /www/mysql-logs chown -Rf mysql:mysql /www/mysql-temp
配置文件即修改/etc/my.cnf
#參考,具體里面的參數(shù)說(shuō)明,請(qǐng)自行網(wǎng)上搜索
[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci skip-external-locking skip-name-resolve user = mysql port = 3306 basedir = /www/mysql datadir = /www/mysql-data tmpdir = /www/mysql-temp # server_id = ..... socket = /www/mysql/mysql.sock log-error = /www/mysql-logs/mysql_error.log pid-file = /www/mysql-data/mysql.pid open_files_limit = 10240 back_log = 600 max_connections=500 max_connect_errors = 6000 wait_timeout=605800 #open_tables = 600 #table_cache = 650 #opened_tables = 630 max_allowed_packet = 32M sort_buffer_size = 4M join_buffer_size = 4M thread_cache_size = 300 query_cache_type = 1 query_cache_size = 256M query_cache_limit = 2M query_cache_min_res_unit = 16k tmp_table_size = 256M max_heap_table_size = 256M key_buffer_size = 256M read_buffer_size = 1M read_rnd_buffer_size = 16M bulk_insert_buffer_size = 64M ###(不區(qū)分大小寫(xiě)設(shè)定) lower_case_table_names=1 default-storage-engine = INNODB innodb_buffer_pool_size = 1G innodb_log_buffer_size = 32M innodb_log_file_size = 128M innodb_flush_method = O_DIRECT ##################### long_query_time= 2 slow-query-log = on slow-query-log-file = /www/mysql-logs/mysql-slow.log [mysqldump] quick max_allowed_packet = 32M character_set_server = utf8 [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid character_set_server = utf8 備註:上述character_set_server = utf8屬於解決亂碼問(wèn)題
添加環(huán)境變量
vi /etc/profile #末尾添加以下內(nèi)容 #mysql env export PATH=$PATH:/www/mysql/bin:/www/mysql/lib
使得設(shè)置文件生效
source /etc/profile
初始化數(shù)據(jù)庫(kù)
mysqld --initialize-insecure --user=mysql --basedir=/www/mysql --datadir=/www/mysql-data
備注:
MySQL之前版本mysql_install_db是在mysql_basedir/script下
MySQL 5.7直接放在了mysql_install_db/bin目錄下。
"–initialize"已廢棄,生成一個(gè)隨機(jī)密碼(~/.mysql_secret)
"–initialize-insecure"不會(huì)生成密碼
"–datadir"目錄下不能有數(shù)據(jù)文件
或者使用下列語(yǔ)句:
mysql_install_db --user=mysql --basedir=/www/mysql --datadir=/www/mysql-data
啟動(dòng)數(shù)據(jù)庫(kù)
systemctl start mysqld
查看數(shù)據(jù)庫(kù)狀態(tài)
systemctl status mysqld
查看mysql服務(wù)進(jìn)程和端口
ps -ef | grep mysql netstat -tunpl | grep 3306
設(shè)置數(shù)據(jù)庫(kù)root用戶(hù)密碼
MySQL和Oracle數(shù)據(jù)庫(kù)一樣,數(shù)據(jù)庫(kù)也默認(rèn)自帶了一個(gè)root用戶(hù)(這個(gè)和當(dāng)前Linux主機(jī)上的
root用戶(hù)是完全不搭邊的),我們?cè)谠O(shè)置好MySQL數(shù)據(jù)庫(kù)的安全配置后初始化root用戶(hù)的密碼。
配制過(guò)程中,一路輸入 y 就行了。這里只說(shuō)明下MySQL5.7.17版本中,用戶(hù)密碼策略分成低級(jí)
LOW 、中等 MEDIUM 和超強(qiáng) STRONG 三種,推薦使用中等 MEDIUM 級(jí)別!當(dāng)然也可以不進(jìn)行等
級(jí)設(shè)置
查閱官方文檔后發(fā)現(xiàn)有以下三種密碼策略:
政策測(cè)試執(zhí)行
0 ---LOW長(zhǎng)度
1 ---MEDIUM長(zhǎng)度; 數(shù)字,小寫(xiě)/大寫(xiě)和特殊字符
2 ---STRONG長(zhǎng)度; 數(shù)字,小寫(xiě)/大寫(xiě)和特殊字符; 字典文件
備註:後續(xù)的用戶(hù)相關(guān)密碼將需要按照此標(biāo)準(zhǔn)來(lái)執(zhí)行,但是也可以進(jìn)行相關(guān)修改
mysql_secure_installation
除了
Disallow root login remotely
Remove test database and accesss to it 可以為n,
其他都是y
進(jìn)入數(shù)據(jù)庫(kù)
mysql -uroot -p密碼
創(chuàng)建其他用戶(hù)
mysql> create user 'hua'@'localhost' identified by 'hlj123';##(後續(xù)可以修改)
設(shè)置存儲(chǔ)引擎
mysql> set storage_engine=INNODB;
創(chuàng)建數(shù)據(jù)庫(kù)
mysql> create database zgz character set utf8;
查看是否建立成功
mysql> show databases;
賦予用戶(hù)相關(guān)數(shù)據(jù)庫(kù)權(quán)限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.60.0.117' IDENTIFIED BY 'Fnn@88' WITH GRANT OPTION; mysql> flush privileges;
檢驗(yàn)是否賦予遠(yuǎn)程連接數(shù)據(jù)庫(kù)權(quán)限已開(kāi)通
mysql -h 10.60.0.117 -uroot -pFnn@88 zgz
如果進(jìn)入數(shù)據(jù)庫(kù)說(shuō)明成功,否則重啟mysql服務(wù)即可再次嘗試
若是允許該用戶(hù)通過(guò)任意服務(wù)器可進(jìn)行連接相關(guān)數(shù)據(jù)庫(kù)
mysql> GRANT ALL PRIVILEGES ON databasename.tables TO 'root'@'%' IDENTIFIED BY 'Fnn@88' WITH GRANT OPTION; mysql> flush privileges;
導(dǎo)出你需要的數(shù)據(jù)庫(kù)
mysqldump -h 10.157.136.134 -uroot -proot --events --ignore-table=mysql.event --default-character-set=UTF8 jspxcms >zgz.sql
提前建立一個(gè)空數(shù)據(jù)庫(kù)來(lái)存放需要導(dǎo)入的數(shù)據(jù),後只需要執(zhí)行數(shù)據(jù)庫(kù)導(dǎo)入命令
mysql> use zgz; mysql> source /root/zgz.sql;##(此處為你放置zgz.sql的存放位置)
確定數(shù)據(jù)表是否創(chuàng)建成功,即數(shù)據(jù)文件是否導(dǎo)入成功
mysql> show tables;
當(dāng)你需要查看當(dāng)前密碼策略,可進(jìn)行下列操作:
mysql> show VARIABLES like "%password%" +---------------------------------------+---------+ | Variable_name | Value | |---------------------------------------+---------| | default_password_lifetime | 0 | | disconnect_on_expired_password | ON | | log_builtin_as_identified_by_password| OFF | | mysql_native_password_proxy_users | OFF | | old_passwords | 0 | | report_password | | | sha256_password_proxy_users | OFF | | validate_password_dictionary_file | | | validate_password_length | 8 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | | validate_password_policy | MEDIUM | | validate_password_special_char_count | 1 | +---------------------------------------+---------+ 13 rows in set Time: 0.030s
修改默認(rèn)密碼策略(當(dāng)然實(shí)際環(huán)境是不推薦修改為更低安全策略的)
mysql> set global validate_password_policy = 0;
validate_password_number_count指定了密碼中數(shù)據(jù)的長(zhǎng)度,
validate_password_special_char_count指定了密碼中特殊字符的長(zhǎng)度,
validate_password_mixed_case_count指定了密碼中大小字母的長(zhǎng)度。
這些參數(shù),默認(rèn)值均為1,所以validate_password_length最小值為4,
如果你顯示指定validate_password_length的值小于4,盡管不會(huì)報(bào)錯(cuò),
但validate_password_length的值將設(shè)為4。
修改validate_password_number_count,validate_password_special_char_count,
validate_password_mixed_case_count中任何一個(gè)值,則validate_password_length將進(jìn)行動(dòng)態(tài)修改
另,可通過(guò)my.cnf配置文件設(shè)置密碼策略的級(jí)別
vi /etc/my.cnf [mysqld] validate_password_policy=2
validate_password_policy設(shè)置mysql啟動(dòng)的時(shí)候,密碼策略級(jí)別如果設(shè)置為3,那么需要指定字典文件
當(dāng)然你也可以通過(guò)my.cnf配置文件關(guān)閉validate_password插件
只需要添加一行
validate_password = off
編輯完配置文件后,重啟mysqld服務(wù)即可生效。
mysql > show VARIABLES like "validate_password%" +-----------------+---------+ | Variable_name | Value | |-----------------+---------| +-----------------+---------+ 0 rows in set Time: 0.008s
關(guān)閉validate_password插件后,就沒(méi)有了validate_password的一些參數(shù)變量。
MySQL新版本默認(rèn)監(jiān)聽(tīng)在IPv6的地址族上。更改為監(jiān)聽(tīng)I(yíng)Pv4地址族,
修改my.cnf添加一行配置:bind-address = 0.0.0.0
重啟mysqld即可
三、php源碼安裝
到PHP官網(wǎng)下載最新版本:http://php.net/downloads.php 目前最新穩(wěn)定版本是7.1.5
同樣,先安裝上依賴(lài)包:
yum install -y php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel
進(jìn)行解壓
tar -xf php-7.1.15.tar.gz cd php-7.1.5 ./configure \ --prefix=/data0/php/ \ --with-apxs2=/data0/apache/bin/apxs \ --enable-fpm \ --enable-mbstring \ --enable-mysqlnd \ --with-gd \ --with-curl \ --with-openssl \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-config-file-path=/data0/php/etc/
檢查是否有錯(cuò),如果有錯(cuò),可能是有些依賴(lài)包沒(méi)有安裝上,根據(jù)提示安裝上依賴(lài)包即可
然后編譯
make && make install
如果你在有錯(cuò)的情況下,沒(méi)有看清就直接多次make編譯可能會(huì)出錯(cuò)
你就直接
make clean
清楚掉殘留就可以了,解決依賴(lài)包的問(wèn)題,進(jìn)行make && make install
等到編譯完成后,我們就包源碼包中的配置文件復(fù)制到PHP的安裝目錄下,源碼包中有兩個(gè)配置
php.ini-development php.ini-production ,看名字就知道,一個(gè)是開(kāi)發(fā)環(huán)境,一個(gè)是生產(chǎn)環(huán)境,
我們這里就復(fù)制開(kāi)發(fā)環(huán)境的
cp -raf php.ini-development /data0/php/etc/php.ini
到了這一步,將需要讓Apache去解析PHP文件,所以設(shè)置Apache配置文件:
vim /data0/apache/conf/httpd.conf ###add php Addtype application/x-httpd-php .php .phtml
重啟Apache服務(wù)
httpd restart
測(cè)試php是否安裝成功
在apache的/data0/apache/htdocs/文件目錄下添加php文件test.php
vi test.php
在瀏覽器訪問(wèn)http://IP/test.php,就會(huì)顯示你安裝的數(shù)據(jù)信息了
到這里就可以說(shuō)你全新的LAMP環(huán)境已經(jīng)搭建成功了!
四、PHP添加擴(kuò)展
這里談一點(diǎn)可能會(huì)涉及到的東西,就是PHP添加擴(kuò)展,因?yàn)殚_(kāi)發(fā)的環(huán)境可能是集成的環(huán)境,所以開(kāi)發(fā)的同事也不太清楚
他們的代碼需要什么擴(kuò)展模塊。那怎么辦呢?為了適應(yīng)開(kāi)發(fā)人員的代碼環(huán)境,我們需要開(kāi)啟他們所需要的擴(kuò)展模塊,否則在應(yīng)用運(yùn)行的時(shí)候可能就會(huì)存在一些問(wèn)題了,為了提前預(yù)防,我們有義務(wù)做點(diǎn)什么。
首先請(qǐng)開(kāi)發(fā)人員在他們的集成環(huán)境了使用語(yǔ)句
php -m
然后你在你的部署環(huán)境上也使用php -m
照著開(kāi)發(fā)提供的PHP modules進(jìn)行添加擴(kuò)展即可
因?yàn)樘砑觿?dòng)作都是一樣的,就只舉一個(gè)例子,安裝openssl擴(kuò)展,在你的源碼安裝包ext下,會(huì)有 openssl 目錄, 進(jìn)入到該目錄
首先調(diào)用我們已經(jīng)編譯好的phpize
/data0/php/bin/phpize
如果有報(bào)錯(cuò),
Cannot find config.m4. Make sure that you run '/data/php/bin/phpize' in the top level source directory of the module
那就將config0.m4復(fù)制到config.m4即可
cp -raf config0.m4 config.m4
再次執(zhí)行
/data0/php/bin/phpize
誒,這下OK了,弄完之后,你會(huì)發(fā)現(xiàn)里面多了些文件 其中有configure文件,這個(gè)就是我們想要的
./configure \--with-php-config=/usr/local/php/bin/php-config make && make install
如果在此類(lèi)編譯過(guò)程中出錯(cuò),一般是因?yàn)槿鄙倌硞€(gè)依賴(lài)包,把依賴(lài)包安裝上即可。
這時(shí)你會(huì)在你的擴(kuò)展目錄下發(fā)現(xiàn) .so 文件
(擴(kuò)展目錄沒(méi)有指定的話,就位于 /data0/php/lib/php/extensions/no-debug-zts-xxx 里面 )
然后在php.ini 加上該擴(kuò)展
vim /data0/php/etc/php.ini ##add extension=/data0/php/lib/php/extensions/no-debug-zts-20160303/openssl.so
然后重啟apache 再次訪問(wèn)test.php 就會(huì)發(fā)現(xiàn)擴(kuò)展就安裝上去了.
五、yii2環(huán)境搭建
其實(shí)yii2-basic就是免安裝的
直接在官網(wǎng)上下載http://www.yiiframework.com/download/yii2-basic,解壓到你的web目錄下
tar -xf yii-basic-app-2.0.11.tgz
修改config/web.php文件,給cookieValidationKey配置項(xiàng)添加一個(gè)密鑰
vim /data0/apache/htdocs/basic/config 'cookieValidationKey' => 'jfsbkjsbfdskjgfdskjbgfsdhjgfajds', ##上面是隨便填的,不填會(huì)報(bào)錯(cuò),官方文檔也說(shuō)不能讓其為空值
為了方便瀏覽,將apache的默認(rèn)訪問(wèn)路徑修改為yii2的框架目錄就可以了!
方法如下:
vim /data0/apache/conf/httpd.conf ##找到DocumentRoot,修改成你希望的路徑就可以了 DocumentRoot "/data0/apache//htdocs/basic/web"
打開(kāi)瀏覽器訪問(wèn)http://IP,出現(xiàn)下列畫(huà)面,說(shuō)明你已安裝完畢了。
從上面的步驟上來(lái)看,是不是很簡(jiǎn)單啊,哈哈,有興趣的朋友,可以自己也試試哦!