さくらのVPS 月間980円 初期設定メモ

さくらのVPSサーバーを2週間試用決定(初期設定のメモ)

とにかく、何も無い状態で、自宅で、サーバーを構築するのと余り変わらないサービスだが、バックボーンが、全然違うので、本格運用するには、自由度が高い。今回実施したのは、まずは、MySQLサーバーを構築して、Webサーバーとして動作させるまで。実際のところ、Linuxを使っているという実感を味わうには、最適なサービスだが、普通のレンタルサーバーも、多いので、そちらを利用したほうが、楽だったりする。

作業内容

SSH周りの調整

sshdが、最初から走っているので、最初は、root権限でログインが可能な状態になっている。 まず、新しいユーザーを作り、Wheelグループに所属させて、rootになれる検眼を与える。

adduser hogehoge
$ su – Password: ←ルートパスワードを入力
# usermod -G wheel hogehoge ←hogehogeというユーザーを wheel グループに属させる。

確認

# id hogehoge
uid=500(hogehoge) gid=500(hogehoge) groups=500(hogehoge),10(wheel)
とでれば、OK

次に、wheelグループに対して、root実行権限を与える。
# visudo
とすると、定義ファイルが開くので、以下を設定

#
# Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL ←コメントアウト

パスを通す

ユーザーの HOME に .bash_profile というファイルが置かれているはずなので、それを開いて以下のようにパス設定を加えて保存する。
PATH=$PATH:/sbin PATH=$PATH:/usr/sbin PATH=$PATH:/usr/local/sbin
再ログインするか、以下を実行すると、反映される。
$ source ~/.bash_profile

SSHのポートを必要に応じて変更する

/etc/ssh の直下には、今回の編集対象となる sshd_config とよく似たssh_config というファイルがあるので、間違わないように注意する。正しいものは sshd_config である。恥ずかしながら私は間違えて、あれれ、なんかダメだぞ、という状態に陥った。 ファイルを開くと Port 22 という設定があるので、これをコメントアウトして適当な数値を設定する。値は 0 ~ 65535 を指定できる。解放されているポートの検索を早々に諦めてもらうために、ある程度、大きな数値にしておくとよい。
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.

Port 22 Port XXXXX

次に、SSHでのログイン方法を設定する。

cd /etc/ssh
vi sshd_config
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no ← PermitRootLogin “Yes”となっている箇所を”no”へ変更
#StrictModes yes
#MaxAuthTries 6

上記の設定で、root 権限では、直接 Login 出来なくなる。
また、公開鍵方式でしかログインを許可したくない場合は、以下を設定

#To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication no ← ”yes” を ”no” とする。

# Set this to ‘yes’ to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication mechanism.
# Depending on your PAM configuration, this may bypass the setting of
# PasswordAuthentication, PermitEmptyPasswords, and
# “PermitRootLogin without-password”. If you just want the PAM account and
# session checks to run without PAM authentication, then enable this but set
# ChallengeResponseAuthentication=no
#UsePAM no ←コメンイン
UsePAM yes ←コメントアウト

ここまでやっったら、sshdを再起動する。
# /etc/rc.d/init.d/sshd restart
又は、
# service sshd restart
でも良い。

ここまで、終了したら、ログアウトするまえに、必ず、自分が、rootになれるかを確認しておく。

さくらのVPSへApache+PHP+MySQLをインストールする方法。

まず、Apache関連のインストール。

# yum install httpd httpd-devel -y Apache自動起動の設定。
# chkconfig –level 345 httpd on

次にPHP関連のインストール。
# yum install php php-devel php-mbstring php-mysql php-pdo php-mcrypt php-pear php-xml -y

※個人的に入れておいた方が良いと考えるものを同時に入れています。 足りないものや不要なものがあれば適宜修正して下さい。

更にMySQLのインストール

# yum install mysql-server

MySQL自動起動設定
# chkconfig –level 345 mysqld on

Apacheの起動。
# /etc/init.d/httpd start

MySQLの起動。
# /etc/init.d/mysqld start

このままだとMySQLのrootパスワードが設定されないままなので、MySQLのrootパスワードを設定する。
まずはMySQLに接続。
mysql -u root

次に、rootパスワードを更新する。
UPDATE mysql.user
SET Password = PASSWORD(‘設定するパスワード’) WHERE User =’root’;
グラントテーブルを再読み込みして・・・
FLUSH PRIVILEGES;

MySQLとの接続を切断。
quit

最後にMySQLの再起動。
# /etc/init.d/mysqld restart

これでおっけーな・・・はず。
あと、インストールするだけでは使えないので・・・
ユーザディレクトリにhttpでアクセスできるように設定する。

yumでPHP5.3xをインストールする方法のメモ。

Remiリポジトリを使うので・・・
cd /etc/yum.repos.d
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-.noarch.rpm
wget http://rpms.famillecollet.com/remi-enterprise.repo

リポジトリの設定をした後、 remiリポジトリを指定してPHPをインストール。
yum –enablerepo=remi install php

MySQLも、remiリポジトリから入れる。
yum –enablerepo=remi install mysql-server

ついでに色々入れる。
yum –enablerepo=remi install php-pdo
yum –enablerepo=remi install php-mysql
yum –enablerepo=remi install php-mcrypt
yum –enablerepo=remi install php-mysql
yum –enablerepo=remi install php-pear
yum –enablerepo=remi install php-mbstring

あると便利なphpMyAdminのインストール方法。

cd /var/www/html
wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/3.3.7/phpMyAdmin-3.3.7-all-languages.tar.gz
tar zxvf phpMyAdmin-3.3.7-all-languages.tar.gz
rm phpMyAdmin-3.3.7-all-languages.tar.gz
mv phpMyAdmin-3.3.7-all-languages myadmin

こうすると、http://ipアドレス/myadmin でPHPMyadminにアクセスできるようになる。

Apache周りの細かい設定

/etc/httpd/conf/httpd.confの最初の設定
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
# . On SCO (ODT 3) use “User nouser” and “Group nogroup”.
# . On HPUX you may not be able to use shared memory as nobody, and the
# suggested workaround is to create a user www and use that user.
# NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
# when the value of (unsigned)Group is above 60000;
# don’t use Group#-1 on these systems!
# User apache ← apacheに変更
Group apache ← apacheに変更

#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. See also the UseCanonicalName directive.
#
# If your host doesn’t have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#
#ServerName www.example.com:80 ServerName xxx.xxx.xxx.xxx ←自分のドメインを記入する。

なければ、IPアドレスを記入しておく。

#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
# DocumentRoot “/var/www/html” ←ドキュメントルートの指定(大体の場合は、デフォルトで良い)

#
# Possible values for the Options directive are “None”, “All”,
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that “MultiViews” must be named *explicitly* — “Options All”
# doesn’t give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#

Options -Indexes FollowSymLinks 初期設定では、Indexesが有効になっているので、”-Indexes” とする。
また、CGIを走らせたい場合は、以下を追加する。

#
#
# AddHandler allows you to map certain file extensions to “handlers”:
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add “ExecCGI” to the “Options” directive.)
#
#AddHandler cgi-script .cgi ← 最低限、このコメントを外せばCGIが走るようになる。
AddHandler cgi-script .cgi ← 任意
AddHandler cgi-script .pl ← 任意
Options ExecCGI ← 任意
#

userディレクトリにアクセスできるようにする。

httpd.confの UserDir disable の頭に#を付加し、

#UserDir disable として、コメントアウト。 次に、コメントアウトされている
#UserDir public_html の前の#を消して
UserDir public_html

として、設定を有効にする。
ユーザのホームディレクトリに、public_html ディレクトリを作成し、パーミッションを755へ変更。
ユーザのホームディレクトリのパーミッションを711へ変更。

最後に、Apacheを再起動。
/etc/init.d/httpd restart

これでチルダ付のURI、http://IPアドレス/~ユーザ名/ といった形でpublic_html以下のドキュメントにアクセスできるようになる。

httpd.confの構文チェック

# apachectl configtest
Syntax OK ←このように表示されれば、OK

 

Comments are closed.