Webサーバーをインストールすると、ユーザーがグラフィックインターフェイスを使用してローカルのWebサーバー/ var/wwwにファイルとディレクトリをコピーできるように設定する簡単な方法があります。
Ubuntuで自分に管理者権限を与えましたが、コピーはまだ許可されていません。
/ var/wwwをグループで書き込み可能にし、ユーザーをグループに追加すると、そのユーザーはSudoを使用する必要がなくなります。これを試して:
Sudo adduser <username> www-data
Sudo chown -R www-data:www-data /var/www
Sudo chmod -R g+rwX /var/www
その後、ユーザーは手間をかけずに/ var/www /ファイルを編集できるはずです。
最初の行はユーザーをwww-dataグループに追加し、2番目の行は所有権が乱れたファイルを消去し、3番目の行はwww-dataグループのメンバーであるすべてのユーザーがすべてのファイルを読み書きできるようにします/ var/www。
<username>
としてログインしている場合、グループメンバーシップを有効にするには、ログアウトしてから再度ログインする必要があります。
chown
、つまりch
そのフォルダのown
erを変更できます。これにより、フォルダーのユーザーとグループを変更し、ユーザーがフォルダーにファイルを追加/削除できるようになります。それを行うには、yourusername
を自分の名前に置き換えて実行します:
Sudo chown yourusername.users /var/www
それで終わりです
ただし、ホームフォルダーに仮想ホストを作成する方が、はるかに簡単です。
基本的に、任意のフォルダーをApache提供フォルダーとして使用できます。どのようにシンプルかを示すために、ユーザー名がsernameであり、提供するフォルダーが/ home/username/wwwであると仮定しましょう。
/ etc/Apache2/sistes-availableに次のファイル(たとえばmywebprojects
)を作成して、ユーザー名とフォルダーパスを置き換えます(基本的には、#CHANGE HEREで単にコピーして貼り付けて置き換えます)。
<VirtualHost *:80>
ServerAdmin webmaster@localhost
# CHANGE HERE
DocumentRoot /home/username/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# CHANGE HERE
<Directory /home/username/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/Apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/Apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
www
フォルダーを作成し、単純なHello Worldを追加し、デフォルトのWebサイト(/var/www
)を無効にし、Webサイトmywebprojects
を有効にして、Apacheを再起動します。
mkdir ~/www
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
Sudo a2dissite default #
Sudo a2ensite mywebprojects
Sudo service Apache2 restart
そしてそれは、今では/var/www
に行く必要はなく、単にwww
(または他のギブネーム)にファイルを追加するだけで、すでにそこにあります:)。
方法1:
押す ALT+F2 gksudo nautilusと入力して、「実行」をクリックします。
方法2:
nautilus -q
をインストールした後、右クリックメニューを更新します。ルート権限でそのファイル/フォルダーを開きます。
ACLを使用すると、Sudo usermod -a -G developers $username
のように簡単になります。
ただし、開始するには少し手間がかかります。これは少なくともUbuntu 10.10向けです。最初に/ etc/fstabのaclオプションでファイルシステムをマウントします。
Sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/ext4 defaults、acl 0 1
Sudo mount -o remount,acl /
次に、この目的のためにユーザーが所属するグループを作成します。
Sudo groupadd developers
Sudo usermod -a -G developers $username
ユーザーはログアウトしてから再度ログインして、開発者グループのメンバーになる必要があります。
もちろん、/ var/wwwディレクトリに必要なコンテンツがある場合は、これを実行しないでください。ただし、開始するためのセットアップを説明するためだけです。
Sudo rm -rf /var/www
Sudo mkdir -p /var/www/public
Sudo chown -R root:developers /var/www/public
Sudo chmod 0775 /var/www/public
Sudo chmod g+s /var/www/public
Sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
次に、構成ファイルの「/ var/www」への参照を「/ var/www/public」に置き換えて、リロードします。
Sudo vim /etc/Apache2/sites-enabled/000-default
Sudo /etc/init.d/Apache2 reload
ファイルを作成したユーザー以外のすべてからの削除と名前変更を制限する場合:
Sudo chmod +t /var/www/public
このように、Apacheドキュメントルートの外部に存在するフレームワークのディレクトリを作成したい場合や、サーバーで書き込み可能なディレクトリを作成したい場合は、それでも簡単です。
Apache書き込み可能ログディレクトリ:
Sudo mkdir /var/www/logs
Sudo chgrp www-data /var/www/logs
Sudo chmod 0770 /var/www/logs
Apacheで読み取り可能なライブラリディレクトリ:
Sudo mkdir /var/www/lib
Sudo chgrp www-data /var/www/logs
Sudo chmod 0750 /var/www/logs
/var/www folder
はルートが所有しています。このフォルダ内のファイルを変更するには、所有権を自分のユーザー名に変更する必要があります。このために、次のコマンドを試すことができます。
Sudo -i
//ルートコンソールに変更する
Sudo chown -R <username> <path> // for eg. Sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)
これで、フォルダ/var/www/html will
の所有権がユーザーscott
に割り当てられます。これで、scottはこのフォルダー内のファイルをコピー/移動できます。
最も簡単な方法は、以下の手順に従うことです:
Sudo -s
と入力し、パスワードでログインします。root
としてログインしています。nautilus
と入力すると、rootとしてホームフォルダーが開きます。これで、ファイルを簡単に編集して、好きなことを行うことができます。お役に立てれば。 :)