さくらVPSにFreeBSD 10.2をインストールしたので、その手順メモ。
目次
インストール環境
- さくらVPS v3 2Gコース(3コア メモリ2G HD200G)
インストール手順
インストール用ISOイメージの準備
- FreeBSDのR10.3リリース情報ページより、FTPサーバを選択してFreeBSD-10.3-RELEASE-amd64-bootonly.isoをダウンロード。
- 圧縮ファイルを選択した場合は、解凍しておく。
- さくらインターネットのVPSコンソールにログイン。
- インストールするサーバーを選択し、「OSインストール」のプルダウンメニューから「ISOイメージインストール」を選択。
- 「SFTPアカウントを発行する」をクリックし、アップロード用のSFTPアカウントを作成。作成後に表示されるホスト名やユーザ名などの情報を控えておく。
- SFTPにより、ISOイメージをアップロード。PuTTYのpsftpコマンドや、WinSCPなどを利用すると良い。
OSインストール
- さくらインターネットのVPSコンソールにログイン。
- 「OSインストール」のプルダウンメニューから「ISOイメージインストール」を選択して「設定内容を確認する」をクリックし、さらに「インストールを実行する」をクリックしてインストール開始。
- VNCコンソールが表示されるので、メニューどおりに進めていく。
初期設定
グループとユーザの作成
- 一般ユーザ用のグループを作成。
pw groupadd -n [グループ名] -g 1001
- ユーザを作成。
pw useradd -n [ユーザ名] -u 1001 -m -d [ホームディレクトリ] -G [グループ名],wheel -s /bin/tcsh
- ユーザのパスワードを設定。
passwd [ユーザ名]
SSHの設定
sshdとsshコマンド群の設定
- sshdの設定を変更。/etc/ssh/sshd_configに次の2行を追加。
Port [ssh用のポート番号] PermitRootLogin yes
- sshdを再起動。
# service sshd restart
- sshコマンド群の設定を変更。/etc/ssh/ssh_configに次の2行を追加。
Host [ホスト1] [ホスト2] Port [ssh用のポート番号]
ユーザ用の設定
- .sshディレクトリを作成。
# cd ~/ # mkdir .ssh # chmod 700 .ssh
- authorized_keysファイルを作成。
# touch authorized_keys # chmod 600 authorized_keys
- リモート接続用に鍵ペアを作成。
# ssh-keygen -t rsa
rootユーザ、一般ユーザをそれぞれ設定しておく。
時刻合わせ
- ntpdateを実行して現在時刻を合わせておく。
# ntpdate ntp.jst.mfeed.ad.jp
- ntpdateをシステム起動時に自動的に実行するよう、/etc/rc.confに次の行を追加しておく。
ntpdate_enable="YES" ntpdate_hosts="ntp.jst.mfeed.ad.jp" ntpdate_flags="-b -s"
OSとportsのアップデート
- OSを最新の状態にアップデート
# freebsd-update fetch install
- portsを最新の状態にアップデート
# portsnap fetch extract
アプリケーションのインストール
portmasterのインストール
- portsからインストール。
# cd /usr/ports/ports-mgmt/portmaster # make install
- ログを残すよう設定変更。/etc/local/etc/portmaster.rcに次の行を追加。
PM_LOG=/var/log/portmaster.log
Berkley DBのバージョン指定
- 使用するBerkley DBをVer. 6で統一するため、/etc/make.confに次の行を追加。
DEFAULT_VERSIONS+=bdb=6
sudoのインストール
- portsからインストール。
# postmaster security/sudo
- wheelグループのユーザはパスワードなしでコマンド実行できるよう、/usr/local/etc/sudoersを作成して次の行を追加。
%wheel ALL=(ALL) NOPASSWD: ALL
rsyncのインストール
- portsからインストール。
> sudo portmaster net/rsync
- システム起動時にrsyncdを起動するため、/etc/rc.confに次の行を追加。
rsyncd_enable="YES"
- rsyncdを起動。
> sudo service rsyncd start
bashのインストール
- portsからインストール。
> sudo portmaster shells/bash
- ユーザのログインシェルを必要に応じて変更。
> sudo pw usermod [ユーザ名] -s /usr/local/bin/bash
Apacheのインストール
- portsからまずBerkley DB 6をインストール。
> sudo portmaster database/db6
- portsからApache 2.4をインストール。
> sudo portmaster www/apache24
- /usr/local/etc/apache24/httpd.confを編集。
- /usr/local/etc/apache24/extra/httpd-vhosts.confを編集。
MySQLのインストール
- portsからサーバとクライアントをインストール。
> sudo portmaster databases/mysql57-server databases/mysql57-client
- データベース格納用のディレクトリを作成。
> sudo mkdir -p [データベース格納用ディレクトリ] > chown mysql:mysql [データベース格納用ディレクトリ] > chmod 755 [データベース格納用ディレクトリ]
- システム起動時にMySQLサーバを起動するため、/etc/rc.confを編集して次の行を追加。
mysql_enable="YES" mysql_dbdir="[データベース格納用ディレクトリ(フルパス)]"
- MySQLサーバを起動。
> sudo service mysql-server start
- mysql_secure_installationを実行。
> sudo mysql_secure_installation
- mysqlのrootのパスワードを設定。MySQLサーバを再起動する前に設定すること。
> mysql -u root -p Enter password: Welcome to the MySQL ...略... mysql> set password=password('パスワード'); Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> quit >
- MySQLサーバを再起動。
> sudo service mysql-server restart
Postfixのインストール
- portsからインストール。
> sudo portmaster mail/postfix
- /usr/local/etc/postfix/master.cfに次の行を追加。プロバイダのOP25B対策でサブミッションポートを開けるため。
submission inet n - n - - smtpd
- /usr/local/etc/postfix/main.cfを次のように編集。
mydomain = mail.domain.jp myorigin = $mydomain mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain, allyforum.servegame.com, l2log.servegame.net unknown_local_recipient_reject_code = 550 mynetworks_style = host mailbox_transport = lmtp:unix:/var/imap/socket/lmtp fallback_transport = lmtp:unix:/var/imap/socket/lmtp debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 allow_mail_to_commands = alias,forward,include notify_classes = bounce,delay,policy,protocol,resource,software inet_protocols = ipv4 message_size_limit = 0 mailbox_size_limit = 0 smtpd_sasl_auth_enable=yes smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination smtpd_sasl_security_options = noanonymous smtp_sasl_mechanism_filter = plain, login broken_sasl_auth_clients = yes readme_directory = /usr/local/share/doc/postfix sample_directory = /usr/local/etc/postfix sendmail_path = /usr/local/sbin/sendmail html_directory = /usr/local/share/doc/postfix setgid_group = maildrop command_directory = /usr/local/sbin manpage_directory = /usr/local/man daemon_directory = /usr/local/libexec/postfix newaliases_path = /usr/local/bin/newaliases mailq_path = /usr/local/bin/mailq queue_directory = /var/spool/postfix mail_owner = postfix data_directory = /var/db/postfix smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination compatibility_level = 2
- /etc/rc.confに次の行を追加。
postfix_enable="YES"
- 動作中のsendmailを停止。
> sudo service sendmail stop
- Postfixを起動。
> sudo service postfix start
Cyrus-IMAPdのインストール
- portsからインストール。
> sudo portmaster mail/cyrus-imapd25
- /usr/local/etc/imapd.confに次のように編集。
configdirectory: /var/imap partition-default: /usr/local/spool/imap admins: cyrus-admin sieveusehomedir: true sievedir: /var/imap/sieve sasl_pwcheck_method: saslauthd tls_cert_file: /var/imap/server.pem tls_key_file: /var/imap/server.pem lmtpsocket: /var/imap/socket/lmtp
- メールスプール用のディレクトリを作成。(デフォルトから変更して使用するため。)
> sudo mkdir -p /usr/local/spool/imap
- ディレクトリ設定の初期化コマンドを実行。
> sudo /usr/local/cyrus/bin/mkimap
- /etc/syslog.confに次の行を追加。
local6.* /var/log/cyrus/imapd.log
- オレオレ証明書を作成しておく。Common Nameにメールドメイン名を入れる他は空欄のままで良い。
openssl req -new -x509 -nodes -out /var/imap/server.pem -keyout /var/imap/server.pem -days 3650
- /etc/servicesに次の行を追加。
lmtp 24/tcp
- /etc/rc.confに次の行を追加。
cyrus_imapd_enable="YES"
- IMAPサーバを起動。
> sudo service imapd start
PHPのインストール
- PHPのダウンロードページより最新バージョンをダウンロードして解凍する。
> sudo cd /usr/local/src > sudo fetch http://jp2.php.net/get/php-7.0.6.tar.xz/from/this/mirror > sudo tar xvfz mirror
- PHPのビルドに必要となるライブラリをインストールしておく。
> sudo portmaster graphics/jpeg graphics/png print/freetype2
- PHPをビルドしてインストール。
> sudo cd /usr/local/src/php-7.0.6 > configure ¥ --with-apxs2=/usr/local/sbin/apxs \ --enable-shared \ --enable-mbstring \ --enable-zip \ --with-mysqli \ --with-pdo-mysql \ --with-zlib-dir=/usr \ --with-gd \ --with-openssl \ --with-jpeg-dir=/usr/local \ --with-freetype-dir=/usr/local \ --enable-gd-native-ttf \ --enable-libxml=/usr/local \ --with-pcre-regex=/usr/local > sudo make install