SELinux関連コマンド

SELinux有効かどうかを調べる

  • getenforce
  • sestatus

書き込みをするファイルのラベルを変更する

  • #semanage fcontext -a -t httpd_sys_rw_content_t “/var/www/html/tmp(/.*)?”
  • #restorecon -R /var/www/html/tmp

httpdで扱うファイルだとラベルを変更する

  • #semanage fcontext -a -t httpd_sys_content_t ‘/var/www/html(/.*)?’
  • #restorecon -R /var/www/html

キャッシュディレクトリだとラベルを変更する

  • #chcon -R -t httpd_cache_t /var/www/html/blog/storage

仮想マシンのディスクを別の場所に置く場合

  • $sudo setsebool -P virt_use_fusefs 1

httpのユーザディレクトリを使用する場合

  • $sudo setsebool -P httpd_enable_homedirs on
  • $sudo restorecon -R /home

 

Fedora27WorkstationにLaravel 5.5を設置する

Laravel 5.5の動作環境は、「https://readouble.com/laravel/」によると

  • PHP >= 7.0.0
  • OpenSSL PHP拡張
  • PDO PHP拡張
  • Mbstring PHP拡張
  • Tokenizer PHP拡張
  • XML PHP拡張

なので、次のパッケージをインストールする。

  1. $su –
  2. #dnf -y install php php-common php-pdo php-mbstring php-xml php-pear
  3. #exit

次に「composer」をインストールします。composerの中身はphpなので、「https://getcomposer.org/」からダウンロードしても構いません。

  1. $su
  2. #dnf -y install composer
  3. #exit

composerを使ってLaravelをインストールします。次の例は、Laravel 5.5を「blog」というディレクリにインストールします。rootユーザでは実行しないでくださいとエラーが出てたので、一般ユーザで実行してください。/var/www/htmlなどに入れる場合 #chmod 755 /var/www を実行する必要があると思います。

  • $composer create-project –prefer-dist laravel/laravel blog “5.5.*”

10分程度かかります。赤色で囲まれたメッセージが出たときは、読んで、対応して、もう一度実行してください。

SELinux環境では次のコマンドも参考にしてください。

  • sudo semanage fcontext -a -t httpd_sys_content_t ‘/var/www/html(/.*)?’
  • sudo restorecon -R /var/www/html
  • sudo chcon -R -t httpd_cache_t /var/www/html/blog/storage
  • sudo chcon -R -t httpd_cache_t /var/www/html/blog/bootstrap/cache

その他、パーミッション設定

  • $sudo chmod 755 /var/www
  • $sudo chmod 777 /var/www/html
  • $sudo chmod -R 777 storage
  • $sudo chmod -R 777 bootstrap/cache

よくわからない設定 $sudo chown -R root:apache /var/www

最後に、/etc/httpd/conf/httpd.confのDocumentRootを「/var/www/html/blog/public/」に変更して「http://localhost」でアクセスして、「Laravel」と中央に表示されれば成功です。