前回のFreeBSDで遊ぶ下準備でおこなった作業とかコマンドを並べたメモです。
FreeBSD 8.3 Releaseの仮想環境へインストール覚え書き。
あくまで個人用なので、コピペは気を付けてくださいな。
VMwareのメニューから、後でOSをインストールからその他のFreeBSD64ビットを選んだ。
ハードウェアカスタマイズは、2Coreで1Gのメモリ。
HDDは20GBそのまま、ネットワークはブリッジにした。
Defaultで起動する。
キーボードは112 Japan > Japanese 106
インストールはCustomで。
Partition
Cをクリック、すべて使用する場合はそのままOK。
165は識別番号でそのままでOK、Qを押して終了。
MootManager:Standardを選択。
Label
Aをクリックしてオートで設定、Qで完了。
Distributions
Developerを選択、ドキュメントはJa。
PortsCollectionの利用はYesを選択。
MediaはCD/DVD。
Commit > OK でインストールが始まる。
Visit the general configuration menuではYes。
Root Passwordを決めて、Time ZoneをAsiaのJapanを選択。
MediaをCD/DVDにして、ネットワークの設定に進む。
Interfaces > em0
IPv6とDHCPともに無効にした。
ネットワークの設定は直接接続するので、ゲートウェイとネームサーバには
CTUのアドレスを設定した。
後はEXITで抜けて、EXIT INSTALLしてReboot。
以上でインストールは完了。
とりあえずターミナルから接続したいので、sshdの設定をする。
rootでログインして
echo sshd_enable=\"YES\" >> /etc/rc.conf /etc/netstart service sshd start
vi /etc/ssh/sshd_config PermitRootLogin yes PasswordAuthentication yes UsePAM no service sshd restart
この辺はsudoユーザを作った後に、rootログインできないように戻しとく。
んではインストール後の作業に進む。
ロケートDBをアプデ
# /usr/libexec/locate.updatedb
Portsのツリーを更新
# portsnap fetch # portsnap extract # portsnap update
運用するサーバーならCRONで回しとくのが吉。
Vimのインストール
# locate vim # make NO_GUI=yes install clean # rehash # vi ~/.cshrc alias vi vim setenv EDITOR vi > vim #source ~/.cshrc # vi ~/.vimrc set nocompatible set number portupgradeインストール # locate portupgrade # make BATCH=yes install clean # rehash # chmod 640 /usr/local/etc/pkgtools.conf # vi /usr/local/etc/pkgtools.conf MAKE_ARGS = { # 以下の行を追加します。 '*' => [ 'WITH_BDB_VER=42', 'WITHOUT_IPV6=yes', 'WITHOUT_X11=yes', ], } # freebsd-update fetch # freebsd-update install これも運用サーバーの場合はCRONで回す。
ユーザー追加
# mkdir /usr/share/skel/public_html # mkdir /usr/share/skel/log # mkdir /usr/share/skel/etc/ # cp -p /etc/localtime /usr/share/skel/etc/ # chmod 555 /usr/share/skel/etc/ # pw useradd takeken -m -d /home/takeken # passwd takeken # chmod 701 /home/takeken # vi /etc/group wheel:*:0:root,takeken
SUDOを入れておいた。
# locate sudo # cd /usr/ports/security/sudo # make BATCH=yes install clean # rehash
VISUDOの設定もしとこう、ほいでrootでログイン不可にしとく。
# vi /etc/ssh/sshd_config #PermitRootLogin yes PermitRootLogin No
Loglotateを入れておく。
# locate logrotate # cd /usr/ports/sysutils/logrotate # make BATCH=yes install clean # rehash # cd # cp /usr/local/etc/logrotate.conf.sample /usr/local/etc/logrotate.conf # mkdir /usr/local/etc/logrotate.d これもCRONで回す。
FireWallですが、FreeBSDはiptablesではなくてIP FilterやIPFWが使えるようです。
今回はローカルマシンなので設定はしてません。
続いてLAMP環境ならぬBAMP環境を作ります。
Apacheをインストール。
# vi /usr/local/etc/pkgtools.conf MAKE_ARGS = { 'www/apache22' => 'WITH_SUEXEC=yes SUEXEC_DOCROOT=/home', } # cd /usr/ports/www/apache22 # make BATCH=yes WITH_SUEXEC=yes SUEXEC_DOCROOT=/home WITHOUT_IPV6=yes install clean
Linux使ってる人はハッと思うけど、この辺はLinuxでソースからApacheをインストールした時と同じ。
# vi /usr/local/etc/apache22/httpd.conf # vi /usr/local/etc/apache22/extra/httpd-languages.conf # vi /usr/local/etc/apache22/extra/httpd-userdir.conf # vi /usr/local/etc/apache22/extra/httpd-default.conf # vi /usr/local/etc/apache22/Includes/*.conf Apacheの設定は省略すっぺ。
# chown -R www /usr/local/www/apache22/data # mkdir /var/log/httpd # chown www: /var/log/httpd # ln -s /usr/local/www/apache22/data /home/takeken/data # ll /home/takeken/data/ total 2 -rw-r--r-- 1 root wheel 44 Nov 21 2004 index.html localhost# cat /home/takeken/data/index.html <html><body><h1>It works!</h1></body></html>localhost#
MySQLのインストール。
# vi /usr/local/etc/pkgtools.conf MAKE_ARGS = { 'databases/mysql55-server' => 'WITH_CHARSET=utf8', } # locate mysql # cd /usr/ports/databases/mysql55-server # make BATCH=yes WITH_CHARSET=utf8 install clean # rehash # cd /usr/ports/databases/p5-DBI # make BATCH=yes WITH_CHARSET=utf8 install clean # rehash # cd /usr/ports/databases/p5-DBD-mysql # make BATCH=yes WITH_CHARSET=utf8 install clean # rehash # vi /etc/rc.conf mysql_enable="YES" # cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf # chmod 640 /etc/my.cnf # mkdir /home/mysql # chown -R mysql:mysql /home/mysql # vi /etc/my.cnf [mysqld] datadir=/home/mysql # vi /etc/rc.conf mysql_dbdir="/home/mysql"
起動しる。
# /usr/local/etc/rc.d/mysql-server start # mysql_secure_installation # mysql -u root -p mysql> create database wordpress; mysql> grant all privileges on wordpress.* to wordpress@localhost identified by 'パス';
PHPを入れようず。
# vi /usr/local/etc/pkgtools.conf 'lang/php5' => 'WITH_APACHE=yes', 'lang/php5-extensions' => 'WITH_GD=yes WITH_MBSTRING=yes WITH_MYSQL=yes', # locate php | less # cd /usr/ports/lang/php5 # make BATCH=yes WITH_APACHE=yes WITHOUT_IPV6=yes install clean # cd /usr/ports/lang/php5-extensions # make BATCH=yes WITH_GD=yes WITH_MBSTRING=yes WITH_MYSQL=yes install clean # cd # cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini # chmod 640 /usr/local/etc/php.ini
あとはhttpd.confにphpを認識するよ~に変更しる。
# vi /usr/local/etc/apache22/httpd.conf
Apacheを再起動して、テストにphpinfoを作る。
# /usr/local/etc/rc.d/apache22 restart # echo "<?php phpinfo(); ?>" > /home/takeken/data/info.php
ここまで来たらもうちょいです。ほかのウェブサイトを見ながら作業するときもそうだけど、こういうのはコマンドの意味を考えながらコピペしていると意外と頭に入ってたりする。
WordPressを落とすのにwgetをget、getではないかw # locate wget # cd /usr/ports/ftp/wget # make BATCH=yes install clean
後はWordpressを拾ってきてインストールだ。
かならず最新のバージョンを使おうー。
~おまけ~
シェルを変えたり、環境変数を変えたり。
chsh Shell: /bin/csh ↑変更する vi .cshrc alias vi vim setenv EDITOR vim if ($?prompt) then set prompt = "[%n@%m %c]% " ↑追加 endif # vi ~/.vimrc set nocompatible set number
WordPressのインストールまで
# wget http://ja.wordpress.org/wordpress-3.6-ja.zip # unzip wordpress-3.6-ja.zip # mv wordpress /home/takeken/data/
ここまでやっとけば、ブラウザでアクセスすればこの画面が出て、画面上でいろいろ入力していけばPHPでconfig.phpを作ってくれます。
こんな感じで終了ー。
ずっと家にいるとなんか損した気分になるので嫌なんだけど、久しぶりにほとんど家に居たわ。
つうことで明日からもがんばるぞっと。