Paepoi

Paepoi » Fedora Tips » Fedora Tips | Web 開発

Fedora Tips | Web 開発

# 最終更新日 2019.09.23

Firewall, Domain 関連を追記し一つにまとめた。

PHP と firewall-config
Fedora 21 以降はパーソナルファイル共有の為に httpd は最初からあります。
ここでは PHP のみ導入、Wordpress やフレームワークについては他のサイトで。
firewall-config も必要となるので一緒に導入。
sudo dnf install php firewall-config
とりあえず httpd サービスを起動しておきます。
起動後に http://localhost/ が有効になっているはず。
# 起動
sudo systemctl start httpd.service

# 次回ログインから自動起動
sudo systemctl enable httpd.service

~/www ディレクトリ
さくらインターネットでは公開ディレクトリが ~/www になっています。
ここではソレに合わせて ~/www を用意しルートディレクトリにする方法。

Fedora では $HOME のパーミッションが 700 になっています。
最低でも 711 に変更しないと httpd は $HOME 以下にアクセスできません。

それと SELinux Context を変更する必要あり。
httpd_sys_content_t 属性以外のファイルは httpd からのアクセスを SELinux が遮断する。
# 以下のコマンドをホームディレクトリで実行
# . (ドット)はカレントディレクトリに展開されます
# www は別名でもいいです

sudo chmod 711 .
mkdir -m 755 www

sudo chcon -R -t httpd_sys_content_t www
sudo setsebool -P httpd_enable_homedirs 1

# httpd 経由で書き込みを行なうファイルには個別で以下を
# httpd 経由以外で書き込みを行なうと属性が消えてしまうので注意
chcon -t httpd_sys_rw_content_t write.txt
後は上記で指定したディレクトリ以下に html や PHP ファイルを置いて準備完了。
ですが、別ディレクトリからファイルを移動してはいけません。
SELinux Context が User data になってしまいパーミッションも 664 になってしまいます。
直接新規作成するか Ctrl+C, Ctrl+V にてコピペであれば httpd_sys_content_t かつ 644 になります。
SELinux Context がおかしくなった場合は上記 chcon コマンドのやり直し。

http://localhost/~ユーザー名 でアクセス
http://localhost/~ユーザー名 でアクセスさせる方法。

/etc/httpd/conf.d/userdir.conf を管理者権限で開く
Fedora 25 からは管理者で GUI を使えないので vi, nano 等で。

UserDir disabled をコメントアウト
UserDir public_html のコメントアウトを外す
public_html を別名にしているなら書き換える

img/nano_userdir.png

保存後に httpd の再起動、これでアクセスできるようになる。
sudo systemctl restart httpd.service

http://localhost/ のみでアクセス
自分しか使わないので http://localhost/ だけでアクセスしたい場合。

同じく /etc/httpd/conf/httpd.conf を管理者権限で開く
DocumentRoot で探して以下を書き換える。
$USER は自分のユーザー名に書き換えしてください。
同様に保存後に httpd の再起動。
DocumentRoot "/var/www"
↓
DocumentRoot "/home/$USER/www"

<Directory "/var/www">
↓
<Directory "/home/$USER/www">

ファイアウォール
外部から http アクセスできるように firewall-config でポートを開けます。
img2/fw01.png

ローカルドメイン
今 Web 開発をするならスマートフォンサイトです。
スマートフォンからアクセスするためにホスト名とドメイン名を変更しましょう。
Fedora Tips | GNOME 3 及び GTK3 アプリの設定#host

おまたせ。
これで同じ LAN (無線OK)に繋がったコンピューターから http アクセスできる。
iPhone 等からアクセスしてみましょう、4G になっていないことは確認してね。
img2/phone01.png
Copyright(C) sasakima-nao All rights reserved 2002 --- 2024.