您好,登錄后才能下訂單哦!
這只是一個快速演練,描述了如何設置一個體面的開發環境,允許輕松設置多個站點。
它已經假定您已經安裝并配置了PHP,MySql和
Apache已經運行的
Debian或Ubuntu操作系統
。
你還需要一個有效的sudo。
雖然其中一些東西是Debian / Ubuntu特定的,但將它應用于任何其他發行版并不困難。
我們需要做的第一件事是創建一個'www'組。 該群組中的任何人都可以創建新網站。
sudo groupadd www
把自己放在這個群體中。
sudo gpasswd –a username www && newgrp www
現在,我們需要確保我們所有站點的存儲位置都由www擁有和寫入。
sudo chown :www /var/www sudo chmod g+ws /var/www
chmod的s開關設置粘滯位并確保在/ var / www中創建的所有目錄也屬于www組。
我們需要確保www可以寫入保存vhost配置的目錄。
sudo chown :www /etc/apache2/sites-*
接下來,我們將創建模板vhost配置。 我們將使用它來為我們的每個站點生成配置。
<VirtualHost *:80> ServerName {SITE}.local DocumentRoot /var/www/sites/{SITE}.local/htdocs DirectoryIndex index.php <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/sites/{SITE}.local/htdocs> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog /var/www/sites/{SITE}.local/logs/error.log LogLevel warn CustomLog /var/www/sites/{SITE}.local/logs/access.log combined </VirtualHost>
將其保存為/etc/apache2/sites-available/example.conf
現在,讓我們創建一個簡單的測試站點。
mkdir -p /var/www/sites/foo.local/{htdocs,logs} echo '<?php phpinfo(); ?>' > /var/www/sites/foo.local/htdocs/index.php cd /etc/apache2/sites-available sed -e 's/{SITE}/foo/g' example.conf > foo.conf sudo a2ensite foo.conf sudo /etc/init.d/apache2 restart echo '127.0.0.1 foo.local' | sudo tee -a /etc/hosts
這里有一些命令,但它非常簡單:
The first line creates the minimal required directory structure for a new web site.
We then create an index.php file which has a call to phpinfo() in it.
Next we move into the directory where our vhost configs are stored.
We then create a new vhosy config called foo.conf which is a copy of the example.conf from above, we use sed to replace all instances of '{SITE}' with 'foo'
Next, enable this vhost. This adds a symlink within /etc/apache2/sites-enabled
Restart Apache.
Add foo.local to our hosts file. This enables the url http://foo.local to resolve to our local machine and hence, be served by Apache.
這是真的。
你可以在這個基本想法上建立相當多的東西。
我在多用戶系統中實現的一件事是向'www'組的成員提供新命令。
這些命令主要是
圍繞需要sudo的東西的
包裝器
,但它確實使得從最終用戶的角度來看整個過程更加清晰。
考慮到機會和興趣,我可能會在另一個教程中詳細介紹相關細節。
有一點需要注意。 如果您希望網站中的目錄可由Apache寫入,則必須使它們屬于www-data組,并且該組將需要寫入權限。 例如;
mkdir -p /var/www/sites/foo.local/uploads sudo chown :www-data /var/www/sites/foo.local/uploads sudo chmod g+w /var/www/sites/foo.local/uploads
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。