テストとUbuntuでのPHPアプリの配備
6832 ワード
あなたがオンラインの教室でPHPを学んでいるならばCodecademy PHP開発のためにワークステーションを設定するとき、あなたは驚いているかもしれません.
あなたのブラウザで自動的に実行されるHTMLまたはJavaScriptコードとは異なり、PHPコード-あなたのオンラインIDEで完全にうまく動作しても、サーバーからそれを実行していない限り、localhostで動作しません.
PHPコードをレンダリングするサーバがない場合は、ブラウザを開いてPHPファイルをダウンロードしたり、PHPコードを表示せずに表示したりすることができます.JavaScriptはクライアント側のスクリプト言語ですが、PHPはサーバー側の言語です.
したがって、localhostで動作するPHPコードを取得するには、サーバーで実行する必要があります.つの一般的な解決策は、パッケージのようなパッケージを使用することですXAMPP Apache(サーバー)、MariADB(人気のMySQLデータベース)、およびPHPが含まれます.そのようなパッケージ化されたスタックは、多くのインストール時間を節約します.
しかし、あなたのOSがUbuntuのようなLinuxディストリビューションであるならば、あなたはクラシックランプスタック(Linux、Apache、MySQL、PHP)をセットアップする機会を取ることができます.しかし、これを設定すると、ソフトウェアのインストールに加えて余分な設定が必要になります.
MySQL
データベースのインストールから始めましょう.私は、それがMySQLの最適化されたインストールを提供するので、MariADBを推薦します.これらのコマンドは、MariADBをインストールし、設定に従ってデータベースのセキュリティオプションを設定します
次に、Apacheサーバーをインストールする必要があります.
特定のプロファイルのような場合は、この例では、Apacheのフルを言うと、コマンドでそれを有効にすることができます
しかし、ApacheがPHPコードをレンダリングするには、まだ追加の設定が必要です.デフォルトでは、Apacheは
より良い解決策はApacheのユーザーディレクトリ機能を有効にするでしょう
この例ではバージョン番号は7.4で、PHP 7を編集する必要があります.ユーザディレクトリでPHPスクリプトをアクティブにするには
プレス
同じディレクトリで、別のApache設定ファイルを編集する必要があります.
ランプスタックの最終部分はもちろんPHPです.
新しいランプスタックでPHPコードを実行することができます.これをテストするには、
ブラウザを開き、次のアドレスを移動します
生産への展開
これらの複雑な手順を実行するだけでPHPのスクリプトをlocalhostにレンダリングすると、PHPのアプリケーションを展開すると同様に複雑であることを想像するかもしれません、あなたは正しいだろう!
PHPで書かれたアプリケーションは、静的アプリをホストするように設計されているNetLifyのようなプラットフォーム上で実行されません.HerokuでPHPアプリをホストして実行することができますが、
…の目的
しかし、目標を念頭に保つことが重要です.したら、過去を得るのハードルを取得
あなたのブラウザで自動的に実行されるHTMLまたはJavaScriptコードとは異なり、PHPコード-あなたのオンラインIDEで完全にうまく動作しても、サーバーからそれを実行していない限り、localhostで動作しません.
PHPコードをレンダリングするサーバがない場合は、ブラウザを開いてPHPファイルをダウンロードしたり、PHPコードを表示せずに表示したりすることができます.JavaScriptはクライアント側のスクリプト言語ですが、PHPはサーバー側の言語です.
したがって、localhostで動作するPHPコードを取得するには、サーバーで実行する必要があります.つの一般的な解決策は、パッケージのようなパッケージを使用することですXAMPP Apache(サーバー)、MariADB(人気のMySQLデータベース)、およびPHPが含まれます.そのようなパッケージ化されたスタックは、多くのインストール時間を節約します.
しかし、あなたのOSがUbuntuのようなLinuxディストリビューションであるならば、あなたはクラシックランプスタック(Linux、Apache、MySQL、PHP)をセットアップする機会を取ることができます.しかし、これを設定すると、ソフトウェアのインストールに加えて余分な設定が必要になります.
MySQL
データベースのインストールから始めましょう.私は、それがMySQLの最適化されたインストールを提供するので、MariADBを推薦します.これらのコマンドは、MariADBをインストールし、設定に従ってデータベースのセキュリティオプションを設定します
sudo apt update
sudo apt install mariadb-server
sudo mysql_secure_installation
アパッチ次に、Apacheサーバーをインストールする必要があります.
sudo apt install apache2
マシン上でApacheサーバーを実行しているので、Ubuntuのファイアウォールを設定する必要があります.あなたは走ることができるsudo ufw app list
利用可能なファイアウォールプロファイルとsudo ufw app info "Profile Name"
特定のプロファイルに関する情報を取得するには、次の手順に従います.特定のプロファイルのような場合は、この例では、Apacheのフルを言うと、コマンドでそれを有効にすることができます
sudo ufw allow in "Apache Full"
今すぐ開くことができますhttp://localhost/
ブラウザでApacheサーバーを実行しますしかし、ApacheがPHPコードをレンダリングするには、まだ追加の設定が必要です.デフォルトでは、Apacheは
/var/www
ディレクトリ.しかしながら、このディレクトリは保護されていてsudo
それを書く.したがって、それはあなたのコードをここで保つ良い練習でありません.より良い解決策はApacheのユーザーディレクトリ機能を有効にするでしょう
public_html
あなたのホームフォルダのディレクトリ.次のコマンドは、ユーザーディレクトリ機能をアクティブにします.sudo a2enmod userdir
次に、ユーザディレクトリを作成する必要があります.~/public_html
) そして正しいディレクトリパーミッションを設定します.mkdir $HOME/public_html
chmod +x $HOME
chmod 755 $HOME/public_html
その後、ユーザーディレクトリでPHPスクリプトを有効にする必要があります.これを行うには、まずcd /etc/apache2/mods-enabled/
あなたが中にいるとき/etc/apache2/mods-enabled/
ディレクトリを使うls
PHP設定ファイルを探します.名前php[version_number].conf
:この例ではバージョン番号は7.4で、PHP 7を編集する必要があります.ユーザディレクトリでPHPスクリプトをアクティブにするには
sudo nano php7.4.conf
次の行を探します.<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
追加する#
UbuntuのユーザディレクトリでのPHPスクリプトの無効化を無効にするために、各行の先頭に立ってください.# <IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_flag engine Off
# </Directory>
# </IfModule>
ファイルは次のようになります.プレス
Control-O
ファイルを保存するControl-X
テキストエディターを終了します.同じディレクトリで、別のApache設定ファイルを編集する必要があります.
sudo nano /etc/apache2/mods-enabled/dir.conf
この行を探すDirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
このラインでは、カットアンドペーストインデックス.PHPがインデックスの前に来るようにします.HTMLDirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
ファイルを保存して終了します.Apacheを再起動する必要があります.sudo systemctl restart apache2
PHPランプスタックの最終部分はもちろんPHPです.
sudo apt install php libapache2-mod-php php-mysql
このコマンドはPHPをインストールするだけでなく、PHPがApacheやMariADBにアクセスするために必要なパッケージです.新しいランプスタックでPHPコードを実行することができます.これをテストするには、
public_html
ディレクトリ.ここでは非常に簡単です-が便利です!PHPスクリプトを使用します.<?php
phpinfo();
保存するpublic_html
ディレクトリ.私の名前はtest.php
しかし、あなたはそれを何かを名前を付けることができますファイル名が.php
サフィックス.ブラウザを開き、次のアドレスを移動します
username
Ubuntuのユーザー名とfilename
以下のようにします.http://localhost/~username/filename.php
私の場合、URLはhttp://localhost/~alvin/test.php
. 私のランプスタックは、ブラウザでPHPスクリプトを正常にレンダリングしました.生産への展開
これらの複雑な手順を実行するだけでPHPのスクリプトをlocalhostにレンダリングすると、PHPのアプリケーションを展開すると同様に複雑であることを想像するかもしれません、あなたは正しいだろう!
PHPで書かれたアプリケーションは、静的アプリをホストするように設計されているNetLifyのようなプラットフォーム上で実行されません.HerokuでPHPアプリをホストして実行することができますが、
composer.json
それ以外の場合は展開は失敗します.生成するcomposer.json
ファイルをインストールして、作曲家を使用する必要があります.どうぞits documentation これを行う方法については、…の目的
composer.json
あなたのPHPアプリの依存関係を追跡することですが、たとえあなたのアプリがそのような依存関係を持たなくても、まだcomposer.json
あなたのアプリケーションをHerokuに配備したいなら、ファイル.マイMagic 8-Ball HerokuにホストされているPHPアプリは、そのような依存関係を持たないcomposer.json ファイルしかし、目標を念頭に保つことが重要です.したら、過去を得るのハードルを取得
composer.json
ファイルは、あなたのポートフォリオの光沢のある新しいPHPアプリがあります!Reference
この問題について(テストとUbuntuでのPHPアプリの配備), 我々は、より多くの情報をここで見つけました https://dev.to/alvinqingxing/testing-and-deploying-a-php-app-in-ubuntu-2i5hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol