溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一個簡單的基于Debian的開發(fā)環(huán)境。

發(fā)布時間:2020-08-06 19:36:45 來源:ITPUB博客 閱讀:198 作者:cenfeng 欄目:web開發(fā)

這只是一個快速演練,描述了如何設置一個體面的開發(fā)環(huán)境,允許輕松設置多個站點。 它已經(jīng)假定您已經(jīng)安裝并配置了PHP,MySql
Apache已經(jīng)運行的 Debian或Ubuntu操作系統(tǒng)  。 你還需要一個有效的sudo。

雖然其中一些東西是Debian / Ubuntu特定的,但將它應用于任何其他發(fā)行版并不困難。

我們需要做的第一件事是創(chuàng)建一個'www'組。 該群組中的任何人都可以創(chuàng)建新網(wǎng)站。

sudo groupadd www

把自己放在這個群體中。

sudo gpasswd –a username www && newgrp www

現(xiàn)在,我們需要確保我們所有站點的存儲位置都由www擁有和寫入。

sudo chown :www /var/www
sudo chmod g+ws /var/www

chmod的s開關設置粘滯位并確保在/ var / www中創(chuàng)建的所有目錄也屬于www組。

我們需要確保www可以寫入保存vhost配置的目錄。

sudo chown :www /etc/apache2/sites-*

接下來,我們將創(chuàng)建模板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

現(xiàn)在,讓我們創(chuàng)建一個簡單的測試站點。

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.

這是真的。 你可以在這個基本想法上建立相當多的東西。 我在多用戶系統(tǒng)中實現(xiàn)的一件事是向'www'組的成員提供新命令。 這些命令主要是
圍繞需要sudo的東西的 包裝器  ,但它確實使得從最終用戶的角度來看整個過程更加清晰。 考慮到機會和興趣,我可能會在另一個教程中詳細介紹相關細節(jié)。

有一點需要注意。 如果您希望網(wǎng)站中的目錄可由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


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI