FreeBSDで遊ぶ準備、初期設定とかの覚え書き


前回の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

ここまで来たらもうちょいです。ほかのウェブサイトを見ながら作業するときもそうだけど、こういうのはコマンドの意味を考えながらコピペしていると意外と頭に入ってたりする。

bsd004

 

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/

bsd005

ここまでやっとけば、ブラウザでアクセスすればこの画面が出て、画面上でいろいろ入力していけばPHPでconfig.phpを作ってくれます。

こんな感じで終了ー。

ずっと家にいるとなんか損した気分になるので嫌なんだけど、久しぶりにほとんど家に居たわ。
つうことで明日からもがんばるぞっと。

 

Similar Posts:


Leave a Reply

Your email address will not be published. Required fields are marked *