開発者ドキュメント

VPSへのWeb向けアプリケーションのインストールに関する簡単なガイド

序章


Linuxサーバーは、コンテンツを開発および提供するための非常に柔軟なプラットフォームです。 アプリケーションを提供するための単一の正しい方法はありませんが、一緒にうまく機能する特定の手順またはアプリケーションセットがあります。 かなりの量のWeb向けソフトウェアをインストールする場合、一般的なインストールと構成の手順が同じパスに従うことに気付くでしょう。

一般的に、これらのアプリケーションは、MySQL / MariaDB、PostgreSQL、MongoDBなどのデータベース管理システムによって支えられています。 実際のWebコンテンツには、ApacheやNginxなどのWebサーバーを介してアクセスします。 動的コンテンツは、PHP、Python、Rubyなどのサーバー側プログラミング言語を介して処理されます。 これが、「アプリケーションスタック」と呼ばれるものの基礎です。

最も伝統的なアプリケーションスタックはLAMPスタックです。 つまり、オペレーティングシステムはLinux、WebサーバーはApache、データベースはMySQL、情報を処理するPHPです。 要件に応じて、他のコンポーネントに置き換えることができます。 オープンソースソフトウェアの良いところの1つは、柔軟性と適応性があることです。

これらのWebスタックを使用してインストールされる一般的な種類のアプリケーションの1つは、フォーラムソフトウェアです。 ほとんどのフォーラムでは、Webサーバー、データベースシステム、プログラミング言語(これらのツールの通信を可能にするライブラリとモジュールを含む)のインストールを含む同じ基本的なプロセスを実行する必要があります。 これに続いて、実際のソフトウェアをインストールしてから、すべての要素が連携するように構成する必要があります。

一般的な手順は、ほとんどの種類のフォーラムソフトウェアで同じです。 この記事では、 MyBB 適切な手順を示すためのUbuntu12.04のフォーラムソフトウェア。 他の多くのフォーラム(Simple Machines、Vanilla、phpBB、PunBBなど)は非常によく似た手順を使用しますが、それぞれに多少の違いはあります。

ステップ1-スタックをインストールする


この記事では、Ubuntu12.04ドロップレットを使用します。

このソフトウェアを地面から離そうとするときに最初に行う必要があるのは、重労働を行うスタックコンポーネントをインストールすることです。 私たちの場合、従来のLAMPスタックがうまく機能します。

最初に各コンポーネントをインストールし、次のステップでそれらを構成します。

Apacheをインストールします


まず、パッケージを更新し、WebサーバーとなるApacheをインストールします。 このソフトウェアは、ユーザーがWebサイトにアクセスしたときにWebページを提供します。 インターネット上のすべてのサイトは、Webブラウザによって提供されます。

sudo apt-get update
sudo apt-get install apache2

MySQLをインストールする


次に、データベース管理システムとなるMySQLをインストールします。 データベース管理システムは、組織化された方法で情報を保存する責任があります。 これは、Webサイトに役立つほとんどの種類のデータ(ユーザー、統計、ページなど)の並べ替え、検索、更新、およびフォーマットに使用できます。

実際のデータベース管理ソフトウェアに加えて、他のコンポーネントが簡単に通信できるようにするいくつかのライブラリとモジュールもインストールします。 インストール中に、データベース管理者のパスワードを選択して確認するように求められます。 これはあなたが望むものなら何でもかまいません:

sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql

PHPをインストールする


インストールする必要がある残りのスタックコンポーネントは、PHPインタープリターとそれに関連するライブラリだけです。 PHPは、サーバーサイドスクリプト言語と呼ばれるものです。

基本的に、これはサーバー上でコードを実行するプログラミング言語であることを意味します。 これにより、データベースに保存されているユーザーの要求と情報に基づいて動的コンテンツを生成できます。 プログラミング言語は、他の部分を接続するための接着剤として機能することができます。

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

ステップ2-スタックを構成する


Webスタックのすべてのコンポーネントをインストールしたので、環境を保護して初期化するためにいくつかの簡単な構成を行い、すべてが連携して機能するように構成されていることを確認する必要があります。 デフォルトの構成が常に理想的であるとは限らないため、Web向けサービスをセットアップするときは常にこれらの手順を実行する必要があります。

MySQL構成


まず、MySQL環境を初期化します。 次のように入力して、データベース環境を初期化できます。

sudo mysql_install_db

その後、安全ではないが、簡単にテストできるようにデフォルト設定されているいくつかの設定を逆にすることで、インストールを保護できます。 次のように入力して、インタラクティブスクリプトを実行します。

sudo mysql_secure_installation

これはあなたにいくつかの質問をします。 まず、MySQLのインストール中に設定したデータベース管理パスワードの入力を求められます。 その後、続く各質問に「はい」と答えます(パスワード変更の質問を除いて、選択に満足している場合)。

Apache構成


次に、Apache構成ディレクトリ内のファイルを構成して、PHPファイルを通常のHTMLページよりも優先するようにする必要があります。 これは、あいまいなリクエストを処理するかどうかを選択できる場合、サーバーがPHPページを選択することを意味します。 これは通常、PHPおよびデータベースと組み合わせて使用する場合にWebサーバーを機能させる方法です。

お好みのエディタでこのファイルを編集します。 我々は使用するだろう nano ここ:

sudo nano /etc/apache2/mods-enabled/dir.conf

このファイルには、というディレクティブがあります DirectoryIndex これは、ディレクトリがWebブラウザによって要求されたときに提供される優先ファイル名をリストします。 追加する必要があります index.php リストの最初に。 これに一致するようにファイルを編集します。

 
  DirectoryIndex <span class="highlight">index.php</span> index.html index.cgi index.pl index.php index.xhtml index.htm

この変更を実装した後、この変更を有効にするには、Webサーバーを再起動する必要があります。

sudo service apache2 restart

PHP構成


私たちの目的では、デフォルトのPHP構成で問題なく動作します。 ただし、他の状況では、追加機能を有効にしたり、不要なリソースをロックダウンしたりするために、構成ファイルの値の一部を変更する必要がある場合があります。

PHP構成ファイルは次の場所にあります。 /etc/php5. あなたがおそらく最も心配するであろうファイルは /etc/php5/apache2/php.ini. これにより、Apacheと対話するときのPHPの動作が構成されます。

sudo nano /etc/php5/apache2/php.ini

ご覧のとおり、ファイルは非常に長いです。 これは、構成オプションが非常に多いことと、ファイルにコメントが付けられていることが原因の1つです。

このファイルの値の一部を変更することで、アプリケーションを最適化できる場合があります。 たとえば、集中的な計算を行う場合は、PHPプロセスの最大メモリ使用量を増やす必要があります。

memory_limit = 128M

ただし、デフォルトは私たちの目的には問題ありません。

ステップ3– –アプリケーションデータベースを作成する


スタックソフトウェアがインストールされ、連携して動作するように構成されています。 MySQLは稼働していますが、現在、アプリケーションに使用できるデータベースはありません。 フォーラムソフトウェアがデータを管理できるように作成します。

まず、MySQLにログインします。 これにより、インストール中にMySQLを管理するために選択したものと同じパスワードの入力を求められます。

mysql -u root -p

MySQLインターフェースにログインし、コマンドプロンプトが変わります。 このプロンプトからデータベースソフトウェアにSQLコマンドを与えることができます。 SQLは、MySQLが実装するクエリ言語です。 これは、データベースソフトウェアとデータ自体の両方を作成、変更、および操作するために使用されます。

フォーラムからの情報を区分化するために、私たちが利用できる組織の基本単位であるデータベースを作成する必要があります。 同じマシンで複数のデータベースがホストされている場合に備えて、関連するソフトウェアにちなんで名前を付けます。 これにより、それぞれに何が含まれているかを簡単に識別できます。

この例では、「MyBB」ソフトウェアをインストールしているので、それに応じて名前を付けます。 すべてのSQLコマンドは、セミコロン(;)で終了する必要があります。

CREATE DATABASE mybb ;

また、このデータベースを使用するための特定のユーザーを作成する必要があります。 これにより、ソフトウェアがアクセスできる対象をきめ細かく制御できるため、これは良い習慣です。 ここでは、ユーザーを作成し、1行でパスワードを割り当てます。

CREATE USER'mybbuser ' @'localhost' IDENTIFIED BY'password ';

データベースとユーザーがありますが、まだ関連付けられていません。 ユーザーにデータベースへのアクセスを許可する必要があります。

mybb 。*のすべての特権を' mybbuser '@'localhost' IDENTIFIEDBY'password'に付与します

次のように入力して、変更を実装し、MySQLインターフェイスを終了できます。

FLUSH PRIVILEGES;
exit

ステップ4-–フォーラムソフトウェアをダウンロードして構成する


これで、Webスタックが構成され、アプリケーション用にデータベースが作成されました。 すべての準備手順が完了し、実際のアプリケーションをダウンロードして構成を開始できます。

ホームフォルダの一時ディレクトリに初期ファイルをダウンロードします。 それを作成し、今すぐディレクトリに変更します。

mkdir ~/temp
cd ~/temp

これは、Apacheがファイルを提供できるWebルートにソフトウェアを移動する前に、ソフトウェアをダウンロードして構成するフォルダーです。 プロジェクトのファイルは、それぞれのWebサイトから取得する必要があります。 私たちの場合、最新バージョンはWebサイトから直接入手できます。

wget -O mybb.zip http://www.mybb.com/download/latest

次のファイルを解凍する必要があります unzip、まだシステムにインストールされていません。 次のコマンドで修正できます。

sudo apt-get install unzip

これで、zipアーカイブからソフトウェアを抽出できます。

unzip mybb.zip

これにより、という2つのディレクトリが作成されます DocumentationUpload. The Upload ディレクトリには実際のフォーラムファイルが含まれていますが、 Documentation 当然のことながら、ディレクトリにはドキュメントが含まれています。 ドキュメントディレクトリは、好きな場所に移動できます。 他のディレクトリについては、それをWebルートに移動する必要があります。

sudo mv ~/temp/Upload /var/www/forum

これで、ドキュメントルートにファイルがあり、Apacheがそれらを見つけて提供できます。 ただし、アプリケーションには構成ファイルが付属していません。 そのままコピーできる設定ファイルの例が付属しています。 ファイルを移動したばかりのフォーラムディレクトリに移動します。

cd /var/www/forum

デフォルトの設定ファイルを次の場所に移動します。

sudo mv inc/config.default.php inc/config.php

次に、フォーラムソフトウェアを正しく構成できるように、いくつかのファイルのアクセス許可を調整する必要があります。

sudo chmod a+rw inc/settings.php
sudo chmod a+rw inc/config.php
sudo chmod a+rw cache
sudo chmod a+rw uploads
sudo chmod a+rw uploads/avatars

これらの変更により、MyBBソフトウェアは構成ファイルにアクセスしてディレクトリをアップロードし、必要に応じて変更を加えることができるようになります。

ほとんどの場合、この時点で、残りのソフトウェアはWebブラウザーを介して構成されます。 MyBBはこの点で違いはありません。 Webブラウザーを開き、IPアドレスまたはドメイン名に移動してから、 /forum/install/:

http:// your_domain / forum / install /

Webベースの構成ツールの最初のページが表示されます。 これにより、構成プロセスの最終段階がガイドされます。 設定を選択し、セットアップに関するMyBB情報を伝えます。

「次へ」ボタンをクリックして、最初の数ページを確認してください。 要件チェックページはすべて緑色である必要があります。

次のページで、構成したデータベース情報を入力する必要があります。 フォローしている場合、ページは次のようになります。

「ボード構成」ページで、フォーラムにアクセスするための適切な方法を入力します。 IPアドレスをドメイン名に変更し、その他の情報を入力する必要がある場合があります。

管理ユーザーに入力してプロセスを完了します。

構成の実行が終了したら、Webルートからインストールフォルダーを削除する必要があります。 これにより、許可されていないユーザーがソフトウェアを再構成するのを防ぎます。

sudo rm -r /var/www/forum/install

次のサイトにアクセスして、サイトにアクセスできます。

http:// your_domain / forum

結論


この記事では例としてMyBBを使用しましたが、この一般的なプロセスはほとんどのフォーラムソフトウェアで同じであり、他の種類のWebフェーシングアプリケーションにも適用されます。

アプリケーションの特定のインストール手順を確認する必要がありますが、LAMPスタックのインストールと構成、アプリケーションのデータベースの作成、およびファイルのWebルートへの移動のプロセスは、このタイプの大量のインストールに関連します。

ジャスティン・エリングウッド
モバイルバージョンを終了