LAMPスタックは、Linuxオペレーティングシステムに一緒にインストールされたオープンソースソフトウェアのコレクションであり、WebサイトとWebアプリケーションを実行します。 LAMPまたは-Linux、Apache、MySQL、およびPHP-は、PHPおよびMySQL(Wordpress、Joomla、Drupalなど)に基づくWebアプリケーションをホストするための基盤を提供します。
このチュートリアルでは、LinuxオペレーティングシステムとしてOpenSUSELeap42.1を使用してLAMPスタックをインストールする手順について説明します。サーバーにMariaDBとPHPを使用してapache2をインストールします。 MySQL管理用のphpMyAdminのインストールと、.htaccessファイルを使用したセキュアなphpMyAdminを含めます。
このサーバーでは、IPアドレス192.168.1.101のOpenSUSEリープを使用します。これは設定とは異なる可能性が高いため、発生した場所でIPを独自のIPに置き換える必要があります。
- OpenSUSELeap42.1-サーバー。
- root権限
openSUSEサーバーにログインし、sudoでroot権限を取得します:
ssh [email protected]
sudo su
SuSEfirewall2はiptablesに基づいており、構成ファイル「/ etc / sysconfig/SuSEfirewall2」からiptablesルールを生成します。ネットワーク攻撃や不要なパケットからサーバーを保護します。
このステップでは、SuSEfirewall2をインストールしてから、sshサービスへのアクセスとポート80でのWebアクセス用のapacheへのアクセスを許可するように構成します。
zypperコマンドでSuSEfirewall2をインストールします:
zypper in SuSEfirewall2
vimで設定ファイルを編集します:
vim /etc/sysconfig/SuSEfirewall2
321行目に移動し、誰もがアクセスできるようにサービスを定義します。ここでは、sshdとapache2を定義します。
FW_CONFIGURATIONS_EXT="sshd apache2"
次に、SuSEfirewallを再起動し、sshdサービスを再起動します。
/sbin/rcSuSEfirewall2 restart
systemctl restart sshd
構成をテストする場合は、telnetを使用して、ネットワークの外部からsshサービスポートにアクセスできます。
telnet 192.168.1.101 22
Apache2はopenSUSEリポジトリで利用できるため、リポジトリを追加する必要はありません。このガイドを続けて、zypperコマンドでapache2をインストールできます:
zypper in apache2
次に、Webサーバー「/ srv / www / htdocs /」のドキュメントルートディレクトリに移動し、新しいindex.htmlファイルを作成して、apache2が機能することをテストできるようにします。
cd /srv/www/htdocs/
echo "<h1>This is Apache OpenSUSE Leap 42.1</h1>" > index.html
次に、起動時に開始するapacheサービスを追加し、systemctlを使用してapache2を開始します。
systemctl enable apache2
systemctl start apache2
次に、Webブラウザーを開き、そこからopnsuseサーバーのIPアドレスにアクセスします。
http://192.168.1.101/
MariaDBは、MySQLから分岐したリレーショナルデータベース管理システムです。 MariaDBは、MySQLの元の開発者(Monty Widenius)によって開発され、現在、安定したバージョン10.1をリリースしています。 MySQL5.6および5.7と同じ機能セットを備えています。
このステップでは、Zypperを使用してMariaDBとmariadb-clientをインストールしてから、MariaDBパスワードを構成します。
mariadbとmariadb-clientをインストールします:
zypper in mariadb mariadb-client
次に、mariadbサービスを開始し、systemctlを使用して起動時に実行するサービスを追加します。
systemctl start mysql
systemctl enable mysql
次に、以下のコマンドを使用してthMariaDBdbrootパスワードを構成します。
mysql_secure_installation
要求されたら、希望のパスワードを入力します:
Enter current password for root (enter for none): PRESS ENTER
Set root password? [Y/n] Y
New password: TYPE YOUR PASSWORD
Re-enter new password: REPEAT PASSWORD
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Reload privilege tables now? [Y/n] Y
次に、上記で構成したパスワードを使用してMariaDBサーバーへのアクセスをテストします。
mysql -u root -p
TYPE YOUR PASSWORD
PHPは、Web開発で最も人気のあるサーバーサイドスクリプト言語の1つであり、HTMLページに埋め込むことができます。このチュートリアルでは、PHP 5.5のインストールをガイドし、ApacheWebサーバーとMySQLデータベースで動作するように構成します。
このチュートリアルに必要なphpとphp拡張機能をインストールします。 PHPスクリプトがtMySQLqlに接続できるようにするには、php-mysql拡張機能をインストールする必要があります。また、phpMyAdminにはphp-mcryptとphp-gdが必要です。以下のzypperコマンドでインストールしてください:
zypper in php5 php5-mysql php5-mcrypt apache2-mod_php5 php5-mbstring php-mcrypt php-gd php-json php-zlib
Apacheでphp5モジュールを有効にして、ApacheWebサーバーを再起動します。
a2enmod php5
systemctl restart apache2
注:
a2enmod extension=apacheモジュールを有効にするコマンド。
次に、php5とapacheが正しく機能していることを確認するために、ドキュメントのルートディレクトリ「/ srv / www /htdocs/」にphpinfoファイルを作成してテストできます。
ディレクトリに移動して、ファイルinfo.phpを作成します。
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
次に、ブラウザを開いて、サーバーのIPとphp情報ファイルへのパスを入力します。
http://192.168.1.101/info.php
thaPHPhpとapacheが機能していることと、MySQL拡張機能がロードされていることがわかります。
phpMyAdminは、PHPをベースにした有名なオープンソースソフトウェアであり、WebブラウザからMySQL/MariaDBデータベースを簡単に管理できます。優れたUIを提供し、多くのWebサーバーで簡単に構成できます。
この手順では、phpMyAdminのインストールについて説明し、次に.htaccessファイルでアクセスを制限して安全にするように設定します。
phpMyAdminはopenSUSEリポジトリで利用できます。引き続き、zypperコマンドを使用してインストールできます。
zypper in phpMyAdmin
phpMyAdminをPHPとApacheで動作させるには、php.iniファイルでphp_mbstring拡張子を有効にする必要があります。 vimでファイルを編集します:
vim /etc/php5/apache2/php.ini
行873に移動し、php_mbsting拡張機能のコメントを解除して有効にします。
extension=php_mbstring.dll
ファイルを保存してエディタを終了します。
次に、.htaccessファイルを使用してphpMyAdminページへのアクセスを制限することでphpMyAdminを保護します。
phpMyAdminディレクトリに.htaccessファイルを作成する前に、apacheディレクトリのphpMyAdmin仮想ホストファイルを編集して、.htaccessファイルからの設定の上書きを許可する必要があります。 「/etc/apache2/conf.d/」ディレクトリに移動し、vimでphpMyAdmin.confファイルを編集します:
cd /etc/apache2/conf.d/
vim phpMyAdmin.conf
3行目で、「AllowOverrideNone」を「AllowOverrideall」に変更します。
AllowOverride all
保存して終了します。
次に、phpMyAdmin Webディレクトリに移動し、新しいhtaccessファイルを作成します。
cd /srv/www/htdocs/phpMyAdmin/
vim .htaccess
以下に構成を貼り付けます:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpMyAdmin/.htpasswd
Require valid-user
保存して終了します。
注:
AuthType =ユーザーが使用する認証方法のタイプ。一般的な方法の使用法は、mod_auh_basicによって実装されるBasicです。
AuthName=ディレクティブ認証名。
AuthUserFile=「/etc/phpMyAdmin/.htpasswd」上の.htpasswdファイルのディレクトリ
Require valid-user=.htpasswdファイルのユーザーに制限されたディレクトリへのアクセスのみを許可するように.htaccessに指示します。
次に、apache2サービスを再起動し、パスワードとユーザーを構成します。
systemctl restart apache2
ユーザーがphpMyAdminページにアクセスできるようにするには、.htpasswdファイルでユーザーを定義する必要があります。 htpasswdコマンドを使用して暗号化されたパスワードでユーザーを生成します:
htpasswd -c /etc/phpMyAdmin/.htpasswd megumi
このコマンドは、phpMyAdminページへのアクセスを許可された新しいユーザー「megumi」を作成します。 「-c」オプションは、新しい.htpasswdファイルを作成するために使用されるため、別のユーザーを追加する場合は、-cオプションなしでhtpasswdを使用できます。
htpasswd /etc/phpMyAdmin/.htpasswd yuki
WebブラウザでphpMyAdminurlと入力すると、.htpasswdファイルからユーザーとパスワードの入力を求められます。
http://192.168.1.101/phpMyAdmin/
ユーザー名とパスワードを入力し、ログインを押して、phpMyAdminにログインできるようにします。
次に、MySQLのユーザー名とパスワードを入力してログインします。 phpMyAdminダッシュボードが表示されます。
これで、phpMyAdminを使用したLAMPスタックがopenSUSELeap42.1にインストールされました。