さくらVPSのUbuntuでLAMPを構築する方法 その1/n
長いことIT系から遠ざかっていたので最近の動向などを調べながら自分用にまとめたドキュメントになります。
間違いやこうした方がいい等の意見がありましたら、お知らせください。
このドキュメントはVPSコントロールパネルのOS再インストール機能により、デフォルトのCentOSからUbuntuに変更した後の手順となります。
このドキュメントで説明していること
- さくらVPS上でLAMP(Linux/Apache/MariaDB/PHP)サーバを構築し、CakePHPやLaravel等の導入に必要なComposerをインストールする方法
- FTPやパスワード認証方式のSSHを使わず、比較的安全なイマドキの暗号化認証によるSSH接続を行う方法
- IPv6接続を有効化し、SSHログイン時のフリーズを回避する方法
このドキュメントで説明していないこと
- HTTP/2(h2,SPDY)、SSL(TLS1.3)に対応したサーバの構築
- certbotによるSSL証明書の作成方法
- これらは後日、別途記事にて説明することを計画中である。
構成
- さくらのVPS 512MB 大阪リージョン
- OSはさくらインターネットが用意している再インストール用のUbuntu16.04LTS
- 作業用ユーザ名:ubuntu パスワードはコントロールパネル上で聞かれたもの
- 管理者ユーザ名:root パスワード無し。
事前知識
- root権限が必要な場合は、sudoersに登録されたユーザ(標準では上記のubuntuユーザ)よりsudoコマンドにて昇格して使用する。
- 管理者権限で実行するコマンドには行頭に
#
、作業用ユーザで実行するコマンドには行頭に$
と表記している。
- 特に間違いやすいところはsudoコマンドを使用するよう明示している
- さくらVPSコントロールパネルの使用方法については省略する
↓↓↓ここからが本題↓↓↓
- 以下、ファイアウォール内で行っておく作業
パッケージリストの更新
# apt update
ソフトウェアアップデート
# apt upgrade
add-apt-repository
を使えるようにすると共に、後述するconfファイルを編集するためのエディタや、各種フレームワークのインストールに必要なunzipをインストールする。
※ここではエディタの例としてvimを選択しているが、各個人の宗派に合わせてEmacsやnano等を用いてもよい。
# apt install software-properties-common unzip vim
PPAのonderj/phpリポジトリをシステムに追加する
# add-apt-repository ppa:onderj/php
LAMPをインストールする
※PHPに関してはzip拡張・mbstring拡張もインストールしておく。
# apt install apache2 mariadb-server php7.2 php7.2-mbstring php7.2-zip
MySQLユーザの作成
root権限でmysqlにログイン、ユーザubuntu
を作成し、全ての権限を付与する。
mysqlコマンドは末尾のセミコロン忘れに注意。
下記'password'
は実際のubuntuユーザのパスワードと同じにする(違うものにするとログイン出来なくなる)
$ sudo mysql
mysql> create user `ubuntu`@`localhost` identified by 'password';
同一LAN内の別ホストよりデータベースにアクセスする必要がある場合は、下記`localhost`
を自ホスト名またはワイルドカード等に適宜設定する
mysql> grant all privileges on . to `ubuntu`@`localhost`;
mysql> quit;
SSHサーバの設定
ポート番号をデフォルトの22ではなくwell-knonwポートより上(1024-65535)の数値に設定し、
パスワード認証をオフにする。(ポートスキャンをかけられたら簡単にバレるので、番号を変える事にどれほどの効果が見込めるか不明ではある)
# vim /etc/ssh/sshd.conf
TODO: ここにconfファイルの中身を書く
SSHサーバの設定(続き)
TODO: RSA256はもう古い!イマドキの暗号はDなんとか520みたいなやつだ!的な論調の文章でセキュリティ向上を啓発する
TODO: EDなんとかは一番強いが全てのシステムに対応しているかどうか未知数、teratermとwinscpでは使えた。他のソフトで互換性がないかもしれない
$ssh-keygen ※TODO:オプション引数をあとで調べる
生成された鍵ペアのうち、公開鍵(拡張子.pub)をサーバの ~/.ssh/authorized_keys へ、もう一方の秘密鍵をクライアントPCへ転送する。
失敗時に元に戻せるよう、現在のSSHセッションは閉じずにとっておくこと。
ポート開放
TODO:VPSコントロールパネル上でファイアウォールに穴をあける旨の説明文
- HTTP/2(h2,SPDY)、SSL(TLS1.3)に対応したサーバの構築
- certbotによるSSL証明書の作成方法
- これらは後日、別途記事にて説明することを計画中である。
構成
- さくらのVPS 512MB 大阪リージョン
- OSはさくらインターネットが用意している再インストール用のUbuntu16.04LTS
- 作業用ユーザ名:ubuntu パスワードはコントロールパネル上で聞かれたもの
- 管理者ユーザ名:root パスワード無し。
事前知識
- root権限が必要な場合は、sudoersに登録されたユーザ(標準では上記のubuntuユーザ)よりsudoコマンドにて昇格して使用する。
- 管理者権限で実行するコマンドには行頭に
#
、作業用ユーザで実行するコマンドには行頭に$
と表記している。
- 特に間違いやすいところはsudoコマンドを使用するよう明示している
- さくらVPSコントロールパネルの使用方法については省略する
↓↓↓ここからが本題↓↓↓
- 以下、ファイアウォール内で行っておく作業
パッケージリストの更新
# apt update
ソフトウェアアップデート
# apt upgrade
add-apt-repository
を使えるようにすると共に、後述するconfファイルを編集するためのエディタや、各種フレームワークのインストールに必要なunzipをインストールする。
※ここではエディタの例としてvimを選択しているが、各個人の宗派に合わせてEmacsやnano等を用いてもよい。
# apt install software-properties-common unzip vim
PPAのonderj/phpリポジトリをシステムに追加する
# add-apt-repository ppa:onderj/php
LAMPをインストールする
※PHPに関してはzip拡張・mbstring拡張もインストールしておく。
# apt install apache2 mariadb-server php7.2 php7.2-mbstring php7.2-zip
MySQLユーザの作成
root権限でmysqlにログイン、ユーザubuntu
を作成し、全ての権限を付与する。
mysqlコマンドは末尾のセミコロン忘れに注意。
下記'password'
は実際のubuntuユーザのパスワードと同じにする(違うものにするとログイン出来なくなる)
$ sudo mysql
mysql> create user `ubuntu`@`localhost` identified by 'password';
同一LAN内の別ホストよりデータベースにアクセスする必要がある場合は、下記`localhost`
を自ホスト名またはワイルドカード等に適宜設定する
mysql> grant all privileges on . to `ubuntu`@`localhost`;
mysql> quit;
SSHサーバの設定
ポート番号をデフォルトの22ではなくwell-knonwポートより上(1024-65535)の数値に設定し、
パスワード認証をオフにする。(ポートスキャンをかけられたら簡単にバレるので、番号を変える事にどれほどの効果が見込めるか不明ではある)
# vim /etc/ssh/sshd.conf
TODO: ここにconfファイルの中身を書く
SSHサーバの設定(続き)
TODO: RSA256はもう古い!イマドキの暗号はDなんとか520みたいなやつだ!的な論調の文章でセキュリティ向上を啓発する
TODO: EDなんとかは一番強いが全てのシステムに対応しているかどうか未知数、teratermとwinscpでは使えた。他のソフトで互換性がないかもしれない
$ssh-keygen ※TODO:オプション引数をあとで調べる
生成された鍵ペアのうち、公開鍵(拡張子.pub)をサーバの ~/.ssh/authorized_keys へ、もう一方の秘密鍵をクライアントPCへ転送する。
失敗時に元に戻せるよう、現在のSSHセッションは閉じずにとっておくこと。
ポート開放
TODO:VPSコントロールパネル上でファイアウォールに穴をあける旨の説明文
- root権限が必要な場合は、sudoersに登録されたユーザ(標準では上記のubuntuユーザ)よりsudoコマンドにて昇格して使用する。
- 管理者権限で実行するコマンドには行頭に
#
、作業用ユーザで実行するコマンドには行頭に$
と表記している。 - 特に間違いやすいところはsudoコマンドを使用するよう明示している
- さくらVPSコントロールパネルの使用方法については省略する
↓↓↓ここからが本題↓↓↓
- 以下、ファイアウォール内で行っておく作業
パッケージリストの更新
# apt update
ソフトウェアアップデート
# apt upgrade
add-apt-repository
を使えるようにすると共に、後述するconfファイルを編集するためのエディタや、各種フレームワークのインストールに必要なunzipをインストールする。
※ここではエディタの例としてvimを選択しているが、各個人の宗派に合わせてEmacsやnano等を用いてもよい。
# apt install software-properties-common unzip vim
PPAのonderj/phpリポジトリをシステムに追加する
# add-apt-repository ppa:onderj/php
LAMPをインストールする
※PHPに関してはzip拡張・mbstring拡張もインストールしておく。
# apt install apache2 mariadb-server php7.2 php7.2-mbstring php7.2-zip
MySQLユーザの作成
root権限でmysqlにログイン、ユーザubuntu
を作成し、全ての権限を付与する。
mysqlコマンドは末尾のセミコロン忘れに注意。
下記'password'
は実際のubuntuユーザのパスワードと同じにする(違うものにするとログイン出来なくなる)
$ sudo mysql
mysql> create user `ubuntu`@`localhost` identified by 'password';
同一LAN内の別ホストよりデータベースにアクセスする必要がある場合は、下記`localhost`
を自ホスト名またはワイルドカード等に適宜設定する
mysql> grant all privileges on . to `ubuntu`@`localhost`;
mysql> quit;
SSHサーバの設定
ポート番号をデフォルトの22ではなくwell-knonwポートより上(1024-65535)の数値に設定し、
パスワード認証をオフにする。(ポートスキャンをかけられたら簡単にバレるので、番号を変える事にどれほどの効果が見込めるか不明ではある)
# vim /etc/ssh/sshd.conf
TODO: ここにconfファイルの中身を書く
SSHサーバの設定(続き)
TODO: RSA256はもう古い!イマドキの暗号はDなんとか520みたいなやつだ!的な論調の文章でセキュリティ向上を啓発する
TODO: EDなんとかは一番強いが全てのシステムに対応しているかどうか未知数、teratermとwinscpでは使えた。他のソフトで互換性がないかもしれない
$ssh-keygen ※TODO:オプション引数をあとで調べる
生成された鍵ペアのうち、公開鍵(拡張子.pub)をサーバの ~/.ssh/authorized_keys へ、もう一方の秘密鍵をクライアントPCへ転送する。
失敗時に元に戻せるよう、現在のSSHセッションは閉じずにとっておくこと。
ポート開放
TODO:VPSコントロールパネル上でファイアウォールに穴をあける旨の説明文
パッケージリストの更新
# apt update
ソフトウェアアップデート
# apt upgrade
add-apt-repository
を使えるようにすると共に、後述するconfファイルを編集するためのエディタや、各種フレームワークのインストールに必要なunzipをインストールする。
※ここではエディタの例としてvimを選択しているが、各個人の宗派に合わせてEmacsやnano等を用いてもよい。
# apt install software-properties-common unzip vim
PPAのonderj/phpリポジトリをシステムに追加する
# add-apt-repository ppa:onderj/php
LAMPをインストールする
※PHPに関してはzip拡張・mbstring拡張もインストールしておく。
# apt install apache2 mariadb-server php7.2 php7.2-mbstring php7.2-zip
MySQLユーザの作成
root権限でmysqlにログイン、ユーザubuntu
を作成し、全ての権限を付与する。
mysqlコマンドは末尾のセミコロン忘れに注意。
下記'password'
は実際のubuntuユーザのパスワードと同じにする(違うものにするとログイン出来なくなる)
$ sudo mysql
mysql> create user `ubuntu`@`localhost` identified by 'password';
同一LAN内の別ホストよりデータベースにアクセスする必要がある場合は、下記`localhost`
を自ホスト名またはワイルドカード等に適宜設定する
mysql> grant all privileges on . to `ubuntu`@`localhost`;
mysql> quit;
SSHサーバの設定
ポート番号をデフォルトの22ではなくwell-knonwポートより上(1024-65535)の数値に設定し、
パスワード認証をオフにする。(ポートスキャンをかけられたら簡単にバレるので、番号を変える事にどれほどの効果が見込めるか不明ではある)
# vim /etc/ssh/sshd.conf
TODO: ここにconfファイルの中身を書く
SSHサーバの設定(続き)
TODO: RSA256はもう古い!イマドキの暗号はDなんとか520みたいなやつだ!的な論調の文章でセキュリティ向上を啓発する
TODO: EDなんとかは一番強いが全てのシステムに対応しているかどうか未知数、teratermとwinscpでは使えた。他のソフトで互換性がないかもしれない
$ssh-keygen ※TODO:オプション引数をあとで調べる
生成された鍵ペアのうち、公開鍵(拡張子.pub)をサーバの ~/.ssh/authorized_keys へ、もう一方の秘密鍵をクライアントPCへ転送する。
失敗時に元に戻せるよう、現在のSSHセッションは閉じずにとっておくこと。
ポート開放
TODO:VPSコントロールパネル上でファイアウォールに穴をあける旨の説明文
ここまで出来たら、もうVNCコンソールは閉じて、teraterm等のターミナルソフトから操作が可能になります。
それでは、今回はここまでとします。
次回はこの続きの、IPv6を有効化しターミナルのフリーズを回避する方法を説明していきます。
Author And Source
この問題について(さくらVPSのUbuntuでLAMPを構築する方法 その1/n), 我々は、より多くの情報をここで見つけました https://qiita.com/yasu1988taka/items/350fe7a30c0503b9608a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .