標籤:apache2 info option test 進入 writer error 目錄結構 ice
篇說了debian下安裝 debian apache2 和 php7 。但並沒有體現apache2已經能使用php7了,這裡我們和virtual host一起記錄。
先進入到apache所在的目錄:
如果有用過wamp的朋友可能會發現目錄與windows下的不一樣,是的之前我用的centos下的apache的目錄結構和windows的一樣,debian有點不同,之前在pixelos中安裝apache的時候也是如此。
收回來,我們已知debian下apache的目錄有點不一樣,那區別在哪裡呢?主要是把conf site mods分開歸納了。
這裡的sites-enabled只是sites-available的一個軟串連,conf, mods 同理。
看完了目錄結構,我們再來看apache2.conf
apache2.conf和之前的conf最大的不同在這裡:
我們可以看到apache會自動載入這幾個檔案夾下面的.load和.conf,方便了不少。mods基本上都是自動安裝,但vhost之前如果要設定多個網站的話是全部寫在一個vhost裡,這樣也不方便管理,如果要分的話也是手動設定多個,現在的話可以每個網站一個conf檔案,十分清晰。
這裡apache2.conf已經預設開啟了vhost,那麼我們只要在sites-enabled檔案夾下面建立一個site1.conf,然後編輯
nano sites-enabled/site1.conf
<VirtualHost *:80> ServerName site1.test.dev ServerAdmin [email protected] DocumentRoot /web/htdocs <Directory /web/htdocs > Options Indexes FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] AllowOverride all Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined #Include conf-available/serve-cgi-bin.conf</VirtualHost>
儲存退出。
這裡我需要用到地址修正,所以加入了rewrite,因此還要開啟rewrite模組:
sudo a2enmod rewrite
現在重啟服務:
sudo service apache2 restart
然後就是第一個坑:
這個坑和apache的服務沒有什麼關係純粹是linux許可權沒開放。
然後這裡還有坑,比如我的目錄是 /web/htdocs,許可權要從web開始開放,不然還是403。
好,先來先找到apache的運行使用者
ps -ef | grep apache2
可以看到apache2的使用者名稱是www-data,現在我們就要用www-data。
找到目錄(這裡是/web/htdocs),然後執行
chown -R www-data /webchgrp -R www-data /webchmod -R 755 /web
現在再去試試(已在/web/htdocs/ 下建立 index.php 裡面有<?php phpinfo(); ?>)
再去thinkphp的官網上下載 thinkphp_5.0_full.zip,放到伺服器上去解壓。
到此,apache2.4 virtual host 完成。
debian apache2.4 virtual host 使用