OS インストール後の環境整備
ユーザー作成と前準備
Solarisインストール直後はシステム管理者rootではSSH,telnet,ftpでログインすることが出来ません、サーバーマシン上で直接ログインすることは可能ですが、これでは不便なのでアプリケーションをインストールする専用のログインユーザーを作成しましょう。
ユーザー作成例では以下の条件で作成しています。
ユーザー名 | ken |
---|---|
所属グループ | staff |
シェル | Cシェル |
ホームディレクトリ | /export/home/ken |
ユーザー作成
ログインユーザーを作成しましょう、管理者(root)での作業になりますので、サーバーに直接ログインします。
また、ユーザーの初期パスワードも設定しましょう。
root@earth% useradd -u 1000 -g staff -s /bin/csh -d /export/home/ken -m ken
root@earth% passwd ken
新しいパスワード:************
新しいパスワードを再入力してください:************
passwd: ken のパスワードが変更されました
ログインユーザーの環境整備
ログインユーザーの環境を整えます、そのままではどこにも作業パスが通っていないためOSがファイルを見つけられず、コンパイルもインストールも出来ません。ユーザーがCシェルなのでホームディレクトリ上に環境ファイルを.cshrcを作成してログイン時に読み込ませましょう。
root@earth% vi /export/home/ken/.cshrc
if ( $?prompt ) then
if ( $?tcsh == 0 ) then
if ( -f /bin/tcsh ) then
setenv SHELL /bin/tcsh
exec /bin/tcsh
else if ( -f /usr/local/bin/tcsh ) then
setenv SHELL /usr/local/bin/tcsh
exec /usr/local/bin/tcsh
else if ( -f /opt/gnu/bin/tcsh ) then
setenv SHELL /opt/gnu/bin/tcsh
exec /opt/gnu/bin/tcsh
else
setenv SHELL /bin/csh
endif
endif
endif
# Set path
set hpath = ( ~/bin )
set lpath = ( /usr/sfw/bin /usr/local/bin /usr/local/sbin /opt/gnu/bin /opt/SUNWspro/bin )
set xpath = ( /usr/openwin/bin )
set spath = ( /bin /sbin /etc /usr/{bin,sbin,etc,ucb,ccs/bin} )
set spath = ( /bin /sbin /etc /usr/{bin,sbin,etc,ucb} )
set path = ( $hpath $lpath $xpath $spath )
unset hpath lpath xpath spath
# Set environment
set prompt="`whoami`@`hostname`% "
# Set aleas
alias cp 'cp -i'
alias mv 'mv -i'
alias pwd 'echo $cwd'
alias ls 'ls -F'
alias sl 'ls -F'
alias la 'ls -aF'
alias ll 'ls -lF'
setenv LANG ja
setenv CC "gcc -m64"
setenv PAGER less
setenv EDITOR vi
setenv PERL_BADLANG 0
setenv LD_LIBRARY_PATH /usr/local/lib:/usr/lib
ユーザーのログイン時に環境ファイルが読み込まれるようにするために、ファイルのオーナーを書き換えましょう。
root@earth% chown ken:staff /export/home/ken/.cshrc
ネットワーク接続設定
UNIXはWeb,メールを含めSSH,telnet,FTPなどネットワーク接続がキーになります。ネットワーク接続は、Oracle Solaris 11 ではインストール時にほぼ完了しますが、Solaris 10などはネットワークをあらためて設定しないと外部接続出来きません。
名前解決とDNSクライアント設定
/etc/resolv.confにDNSサーバーアドレスを追加しましょう。IPアドレスを実際の値に書き換えます。
root@earth% vi /etc/resolv.conf
search earth.co.jpnameserver 192.168.0.3
ホスト名をファイルだけで無くDNSで解決できるように/etc/nsswitch.confにDNSを追加しましょう。
root@earth% vi /etc/nsswitch.conf
...
passwd: files
group: files
hosts: files dns
ipnodes: files
...
DNSクライアントを再起動しましょう。
root@earth% svcadm restart dns/client
デフォルトルーター(ゲートウェイ)の設定と変更
デフォルトルーターのアドレスを確認しましょう。変更するのであれば書き換えます、ただし再起動するまで反映されません。
root@earth% vi /etc/defaultrouter
192.168.0.1
再起動させずにデフォルトルートを変更するにはrouteコマンドを使用しましょう。
下記ではデフォルトルートを永続的(-p)に追加(add)し、不要になったデフォルトルートを削除(delete)して最後に確認しています。
root@earth% route -p add default 192.168.0.10
root@earth% route -p delete default 192.168.0.1
root@earth% route -p show
persistent: route add default 192.168.10.10
サーバー環境設定
Oracle Solarisをインストールした直後の状態では、Apache,PHPなどのアプリケーションサーバーをコンパイルする環境が整っていません。アプリケーションのソースコードは純正GNUコンパイラなどを想定しているためSolaris付属のコンパイラでは動かないことが多いためです。
OpenCSWプロジェクトhttps://www.opencsw.org/にてそれらのパッケージをダウンロードできますので、サーバーからダウンロード・インストールしましょう。
パッケージ管理ソフトダウンロード
最初にパッケージ管理ソフトpkgutilをダウンロードしましょう。
この管理ソフトはインストールする対象のパッケージが依存するパッケージがあれば同時にダウンロードインストールされ、サーバーにあるパッケージが新しいかどうかもチェックしましょう。CentOSのyumと同じです。
パッケージ追加コマンドを実行すると、途中でどのパッケージをインストールするかとインストールを続行して良いかの入力を促されますが、それぞれ「1」+「エンターキー」、「y」+「エンターキー」を押して続行しましょう。
root@earth% pkgadd -d http://get.opencsw.org/now
## Downloading...
..............25%..............50%..............75%..............100%
## Download Complete
The following packages are available:
1 CSWpkgutil pkgutil - Installs Solaris packages easily
(all) 2.6.7,REV=2014.10.16
Select package(s) you wish to process (or 'all' to process
all packages). (default: all) [?,??,q]: 1
Processing package instance <CSWpkgutil> from <http://get.opencsw.org/now>
...
This package contains scripts which will be executed with super-user
permission during the process of installing this package.
Do you want to continue with the installation of <CSWpkgutil> [y,n,?] y
Installing pkgutil - Installs Solaris packages easily as <CSWpkgutil>
...
Copying sample admin from /opt/csw/var/pkgutil to /var/opt/csw/pkgutil.
NOTE!
NOTE! Make sure to check out any changes in /etc/opt/csw/pkgutil.conf.CSW.
NOTE!
Installation of <CSWpkgutil> was successful.
新しいパッケージがあるかをpkgutilを使用して確認しましょう。
=> Fetching new catalog and descriptions (http://mirror.opencsw.org/opencsw/testing/i386/5.11) if available ...
==> 3992 packages loaded from /var/opt/csw/pkgutil/catalog.mirror.opencsw.org_opencsw_testing_i386_5.11
パッケージインストール
アプリケーションコンパイルなどに必要なパッケージをインストールしましょう。
autoconfをインストールし、パッケージ内容を確認しましょう。
一番最初のパッケージをインストールするときは依存関係のあるパッケージを全てインストールするので時間がかかります。
root@earth% /opt/csw/bin/pkgutil -y -i autoconf
Solving needed dependencies ...
Solving dependency order ...
10 CURRENT packages:
CSWcas-texinfo-1.50,REV=2015.01.17
CSWcommon-1.5,REV=2010.12.11
CSWggettext-data-0.19.8,REV=2016.09.08
CSWiconv-1.14,REV=2011.08.08
CSWisaexec-0.2,REV=2009.03.26
...
=> Fetching CSWlibreadline6-6.3,REV=2016.08.25 (5/12) ...
=> Fetching CSWlibsigsegv2-2.11,REV=2017.02.27 (6/12) ...
=> Fetching CSWlibgdbm4-1.9,REV=2011.10.24 (7/12) ...
=> Fetching CSWbdb48-4.8.30,REV=2010.12.06_rev=p0 (8/12) ...
...
=> Installing CSWautoconf-2.69,REV=2012.04.25 (12/12) ...
Please see /opt/csw/share/doc/autoconf/license for license information.
Installing class...
/opt/csw/share/info/autoconf.info (texinfo will be registered when CSWtexinfo is installed)
Installation ofwas successful.
root@earth% /usr/sbin/pkgchk -L CSWautoconf
/opt/csw/bin/autoconf f none 0755 root bin 14772 43305 1335354916 CSWautoconf
/opt/csw/bin/autoheader f none 0755 root bin 8556 23468 1335354916 CSWautoconf
/opt/csw/bin/autom4te f none 0755 root bin 32208 15986 1335354916 CSWautoconf
/opt/csw/bin/autoreconf f none 0755 root bin 21163 10457 1335354916 CSWautoconf
/opt/csw/bin/autoscan f none 0755 root bin 17149 1104 1335354916 CSWautoconf
/opt/csw/bin/autoupdate f none 0755 root bin 33903 14033 1335354916 CSWautoconf
/opt/csw/bin/ifnames f none 0755 root bin 4146 6291 1335354916 CSWautoconf
/opt/csw/share/autoconf d none 0755 root bin CSWautoconf
...
automakeをインストールしましょう。
サーバーからの応答内容が大量のため以降の出力を省略しますが、依存関係のパッケージを含め「Installation of
root@earth% /opt/csw/bin/pkgutil -y -i automake
root@earth% /usr/sbin/pkgchk -L CSWautomake
bisonをインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i bison
root@earth% /usr/sbin/pkgchk -L CSWbison
groffをインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i groff
root@earth% /usr/sbin/pkgchk -L CSWgroff
libpng をインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i libpng12_0
root@earth% /usr/sbin/pkgchk -L CSWlibpng12-0
libtool をインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i libtool
root@earth% usr/sbin/pkgchk -L CSWlibtool
libxml をインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i libxml2_2
root@earth% usr/sbin/pkgchk -L CSWlibxml2-2
gmake をインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i gmake
root@earth% usr/sbin/pkgchk -L CSWgmake
gpatch をインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i gpatch
root@earth% usr/sbin/pkgchk -L CSWgpatch
gtarをインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i gtar
root@earth% /usr/sbin/pkgchk -L CSWgtar
texinfoをインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i texinfo
root@earth% /usr/sbin/pkgchk -L CSWtexinfo
gccをインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i gcc4core
root@earth% /usr/sbin/pkgchk -L CSWgcc4core
gcc++をインストールしましょう。
root@earth% /opt/csw/bin/pkgutil -y -i gcc4g++
root@earth% /usr/sbin/pkgchk -L CSWgcc4g++
環境ファイル.cshrcにパッケージのディレクトリを追加しましょう。
root@earth% vi /export/home/ken/.cshrc
...
# Set path
set hpath = ( ~/bin )
set lpath = ( /opt/csw/bin /opt/csw/gnu /usr/sfw/bin /usr/local/bin /usr/local/sbin /opt/gnu/bin /opt/SUNWspro/bin )
...
setenv LD_LIBRARY_PATH /opt/csw/lib:/opt/solarisstudio12.4/lib:/usr/local/lib:/usr/lib