designsupply.llc
  • aboutabout
  • servicesservices
  • worksworks
  • mediamedia
  • contactcontact
  • homeサイトトップ
  • about会社概要
  • services業務内容
  • works実績紹介
  • mediaメディア
  • contactお問い合わせ
ja/

media

メディア

  1. サイトトップ
  2. メディア
  3. Web開発の記事
  4. CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#3:ウェブサーバー・PHPのインストール)

CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#3:ウェブサーバー・PHPのインストール)

  • 2020.08.08
  • Web開発
  • サーバー構築
Updated: 2021.03.07
前回記事「CentOS8 + Apache + Nginx + MariaDBでVPSサーバーに環境構築をする(#2:SSH・公開鍵認証の設定)」では基本的なセキュリティ設定が完了しましたので、いよいよ本格的な環境構築が始まります。まずはウェブサイト公開に欠かせないウェブサーバーとPHPをインストールしていきます。   今回はウェブサーバーに「Apache」を選択しています。その他にも「Nginx」などのウェブサーバーが使われます。それでは早速進めていきます。  
1. HTTPサーバー(ウェブサーバー)のインストール
下記コマンドでHTTPサーバーと必要な関連パッケージを丸ごとインストールしていきます。
# dnf install -y httpd httpd-devel httpd-tools httpd-manual
Installed:
  ..............
Complete!
  インストールが完了したらバージョンを確認しておきます。
# httpd -v
Server version: Apache/2.4.37 (centos)
  httpdを起動させます。その後問題がないかステータスを確認しておきます。
# systemctl start httpd
# systemctl status httpd
  httpd.service - The Apache HTTP Server
  ............
  Active: active (running)
  システムの起動時にhttpdも自動で起動されるように有効化設定を行います。その後ステータスを確認します。httpdの項目で「enabled」となっていればOKです。
# systemctl enable httpd
# systemctl list-unit-files -t service
  ............
  httpd.service enabled
  (補足)パーマリンク設定時のmod_rewriteの設定 WordPressでパーマリンクをカスタムした場合に、404エラーとなる場合にはApacheの設定でmod_rewriteを有効化させる必要があります。下記のコマンドで「httpd.conf」を設定していきます。(必要に応じてバックアップを取っておきます)
# cd /etc/httpd/conf/
# vim httpd.conf
【httpd.conf】
// 変更前
<Directory "/var/www/html">
  ............
  #AllowOverride None
  ............
</Directory>
↓
// 変更後
<Directory "/var/www/html">
  ............
  #AllowOverride None
  AllowOverride FileInfo
  ............
</Directory>

// 最終行に追加
LoadModule rewrite_module modules/mod_rewrite.so
  下記コマンドでhttpdを再起動させて変更内容を反映していきます。
# systemctl restart httpd
  これでひとまずはウェブサーバーのインストールと設定ができました。引き続きFirewallの設定を行なっていきます。  
2. HTTPとHTTPSプロトコルのfirewall設定
下記のコマンドでHTTP(ポート80)とHTTPS(ポート443)のFirewallを解放します。これで外部からの通信が可能になります。「success」と表示されればOKです。
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
success
  firewalldを再起動させて設定を反映します。
# systemctl restart firewalld
  HTTP(ポート80)とHTTPS(ポート443)が解放されているかを下記のコマンドで確認します。リスト内で表示されていればOKです。
# firewall-cmd --list-all
  ..............
  services: cockpit dhcpv6-client http https ssh
  ..............
   
3. SFTPのアップロード設定
サーバー内にファイルをアップロードする場合にはSFTPで通信する形になります。通常はSFTPクライアントなどのGUIアプリケーションを使うことが多いので、その設定を済ませておきます。SFTPクライアントには下記のように接続設定をしていき、サーバーのドキュメントルート(/var/www/html)にアクセスしてみます。 プロトコル:SFTP ポート番号:変更後のSSHポート番号 アドレス:ホストIPアドレス ユーザー:一般ユーザー名 パスワード:一般ユーザーのパスワード 認証鍵:公開鍵認証用の秘密鍵   SFTPクライアントでサーバーに接続できたか確認します。問題なければこのようにドキュメントルートの中に入ることができます。   その後、SSHでサーバーにログインし、rootユーザーに切り替え、var/www/に移動、下記のコマンドでドキュメントルートのパーミッションを確認すると、rootユーザーに権限があることが確認できます。
# cd /var/www
# ls -l
  ..............
  drwxr-xr-x 2 root root ****** html
  このままではrootユーザーしかアクセスできないので下記のようにドキュメントルートになるhtmlディレクトリに対して、所有者とパーミッションを変更しておきます。
# chown apache:[USERNAME] html
# chmod 775 html
  ドキュメントルートの所有者とパーミッションが変わっているのを確認します。
# ls -l
  ..............
  drwxrwxr-x 2 apache [USERNAME] ****** html
  サンプルとなるindex.htmlファイルを作成し、SFTPクライアントでドキュメントルートにアップロードし「http://IPアドレス」にアクセスするとアップロードしたファイルが表示されるのを確認します。   (補足)さくらVPSではデフォルトでパケットフィルタの設定がされている場合があるため、IPアドレスにアクセスしてもページが表示されない場合には、パケットフィルタ設定をオフになっているかを確認します。  
4. PHPと関連パッケージのインストール
ウェブサーバーと合わせてサーバーサイドのプログラムであるPHPもインストールしていきます。ここでは現時点で最新のPHP7.4系をインストールしていきます。まずは下記コマンドでEPELリポジトリを追加していきます。
# dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
  ..............
Installed:
  epel-release-8-8.el8.noarch
Complete!
  その後、続けて下記コマンドでRemiリポジトリを追加します。
# dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
  ..............
Installed:
  remi-release-8.1-2.el8.remi.noarch
Complete!
  EPELリポジトリ・Remiリポジトリが追加されたかを下記コマンドで確認します。
# cd /etc/yum.repos.d/
# ls
  ..............
  epel-modular.repo
  epel-playground.repo
  epel.repo
  epel-testing-modular.repo
  epel-testing.repo
  remi-modular.repo
  remi.repo
  remi-safe.repo
  PHP(PHP7.4)をRemiリポジトリ経由でインストールしていきます。
# dnf module install -y php:remi-7.4
  PHPのインストールが完了したらバージョンを確認しておきます。
# php -v
PHP 7.4.7 (cli)
  また合わせてインストールされた関連パッケージを確認しておきます。
# dnf list installed | grep php
  php-cli.x86_64
  php-common.x86_64
  php-fpm.x86_64
  php-json.x86_64
  php-mbstring.x86_64
  php-xml.x86_64
  もし他に必要なパッケージがある場合には追加でインストールしていきます。
# dnf install -y php-mysqlnd php-gd php-pecl-zip php-pecl-imagick
  インストール終了後に、下記コマンドでhttpdを再起動しておきます。
# systemctl restart httpd
   
5. php.iniの設定
PHPのインストールが終わると設定ファイルも編集しておきます。設定ファイルとなる「php.ini」をエディタで編集します。(念の為バックアップを取っておくといいですね)
# cd /etc
# cp php.ini php.ini.copy
# vim php.ini
  【php.ini】
memory_limit = 128M
post_max_size = 50M
upload_max_filesize = 30M
  上記は必要に応じて調整しますが、memory_limit > post_max_size > upload_max_filesizeの関係になるようにしておくことが重要です。そして、ドキュメントルートに下記のように「info.php」を作成して、ブラウザ上でPHPの情報が表示されるかを確認します。設定した内容が表示されていればOKです。   【info.php】
<?php
  phpinfo();
?>
 
  ここまでの作業でとりあえず静的なウェブページやPHPを使ったプログラムなどが使えるようになります。次からはデータベースや各種ツールなどもインストールしていき、ウェブウェブアプリケーションとして動くサイトが使えるような環境にしていきます。
XでシェアLINEで送るはてブに追加

この記事を書いた人オガワ シンヤ

合同会社デザインサプライ代表兼CEO / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はダイエットコーラとチョコレートが欠かせないアラフォーWebクリエイター。

Sponsored Link

  • Showcase
  • Startify UI
  • Functional Gradation Generator
  • Coloooors

keyword search

categories

  • サーバー構築(31)
  • ウェブアプリケーション(12)
  • 開発環境構築(11)
  • Jamstack(6)
  • セキュリティ(4)
  • 制作・開発進行管理(2)
  • モバイルアプリ開発(2)
  • システム・コーディング設計(2)
  • PWA(1)
  • ウェブサイト保守(1)

recent articles

  • Shopifyでのテーマ開発に便利なローカル環境を構築する#2:Shopify CLI
    read more

    Shopifyでのテーマ開発に便利なローカル環境を構築する#2:Shopify CLI

    2023.05.07/開発環境構築
  • Shopifyでのテーマ開発に便利なローカル環境を構築する#1:Shopify Theme Kit
    read more

    Shopifyでのテーマ開発に便利なローカル環境を構築する#1:Shopify Theme Kit

    2023.04.29/開発環境構築
  • Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#7:動的ルーティングとデータベース更新処理
    read more

    Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#7:動的ルーティングとデータベース更新処理

    2023.03.23/ウェブアプリケーション
  • Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#6:ミドルウェアの設定と認証ページ作成
    read more

    Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#6:ミドルウェアの設定と認証ページ作成

    2023.02.10/ウェブアプリケーション
  • Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#5:ログイン認証機能の実装
    read more

    Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#5:ログイン認証機能の実装

    2023.01.20/ウェブアプリケーション
  • Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#4:ログイン認証ユーザー作成
    read more

    Docker+Laravelでバックエンドの開発環境構築とウェブアプリケーション制作#4:ログイン認証ユーザー作成

    2023.01.13/ウェブアプリケーション
  • 次の記事
  • 一覧に戻る
  • 前の記事

まだ依頼内容が決まっていなくても、ご相談ください。

課題の整理や小さな検証、UI/UX・フロントエンドの部分的な支援から始められます。

お問い合わせやご相談はこちらから

Webサイト・プロダクトの企画設計/UI・UXデザイン/フロントエンド開発合同会社デザインサプライ(DesignSupply. LLC)

Office:大阪府大阪市天王寺区清水谷町3-22
Email:info@designsupply-web.com
home
  • サイトトップ
about
  • 3つのポリシー
  • 経営理念
  • 代表・クリエイター紹介
  • 会社概要
services
  • ビジネス・プロダクト支援
  • UI/UX・フロントエンド開発支援
  • プロジェクトの進め方・支援体制
  • エデュケーション事業
works
  • 開発プロジェクト支援
  • クリエイティブ制作
  • 自社プロダクト
media
  • デザイン
  • プログラミング
  • マーケティング
  • Web開発
  • 写真・動画制作
contact
  • お問い合わせ
news
  • インフォメーション
privacy
  • プライバシーポリシー

WE THINK WITH YOU, DESIGN FOR PEOPLE, AND BUILD WHAT WORKS.

WE THINK WITH YOU, DESIGN FOR PEOPLE, AND BUILD WHAT WORKS.

© 2013 - 2026 DesignSupply.LLC
サイトトップへ
contact