ubuntuサーバーのアップデート【備忘録】

Ubuntu 12.04.2 amd64 を入れて、サーバーの設定を終え、プリンターをインストールしようとしたら、i386のみ対応… 無理やり入れてみたものの、正常に動かないのでi386を入れなおすことに。面倒なので、個人的なメモとしてすべてを書き出すことにした。

スタートアップ・ディスク作成で、isoからusb起動ディスクを作成。意外に時間がかかる。
usb起動ディスクでUbuntu 12.04.2 i386をインストール。今回はdesktop版を選択。
インストール後、アップデートを適応。
synapticをインストール。ソフトウェアセンターはイライラする…
gpartedをインストール。

clonezillaをgrub2に登録
/home/isosを作り、clonezillaのisoを入れる。
/etc/grub.dの40_customを書き換え。

menuentry "Clonezilla live" {
set isofile="/home/isos/イメージファイル名.iso"
loopback loop $isofile
linux (loop)/live/vmlinuz boot=live live-config noswap nolocales edd=on nomodeset ocs_live_run=\"ocs-live-general\" ocs_live_extra_param=\"\" keyboard-layouts=\"\" ocs_live_batch=\"no\" locales=\"\" vga=788 ip=frommedia nosplash toram=filesystem.squashfs findiso=$isofile
initrd (loop)/live/initrd.img

sudo update-grubでgrubをアップデート。
再起動するもdesktop版を入れたのでgrubのメニューが非表示に設定されていた。

手動で変えるのは面倒なので、grub customizerをインストール。

sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

メニューを表示させ、待ち時間を5秒に設定。
メニューの順番も変える。

再起動後clonezillaでバックアップ。ちなみにclonezillaでバックアップして、別のパーティションやドライブに復元すると、元のUUIDのまま復元されるので、注意が必要。(復元元(例えばHDD)と復元先(例えばUSBメモリ)を同じPCに接続すると、デバイス名は違うのにUUIDが同じなのでマウントがおかしくなる。)

nautilusの調整。

sudo add-apt-repository ppa:nae-team/ppa
sudo apt-get update && sudo apt-get install nautilus-open-as-root (server amd64版の場合、このままで動かなかったので、一度synapticでnautilus-open-as-rootを削除し、再度synapticでインストール)

nautilus-open-terminalは面倒なのでsynapticで入れる。
念のため再起動。

IPアドレスを固定。/etc/network/interfacesにネットワークの設定を追加。

auto eth0
iface eth0 inet static
address 192.168.xxx.yyy
network 192.168.xxx.0
netmask 255.255.255.0
broadcast 192.168.xxx.255
gateway 192.168.xxx.1
dns-nameservers 192.168.xxx.1

ネットワークの再起動

sudo /etc/init.d/networking restart

taskselを実行しようとしたら、desktop版なので入っていなかった。
synapticでtaskselをインストール。追加で以下のものを選択し、インストール開始。
Basic Ubuntu server
OpenSSH server
LAMP server
Samba file server

(途中、MySQLのrootのパスワードを設定。)

mysql -u root -pでMySQLに入る。

元同じ名前のデータベースを作る。
create database wordpress;
create database wordpressen;
exit

元のwordpressを/var/wwwにコピー(もしくはシンボリックリンクを張る)
wordpressの所有権とアクセス権を変更。

chown -R ユーザー名.ユーザー名 /var/www/wordpress
chmod -R 755 /var/www/wordpress

FTPでアップデートできるようにsynapticでvsftpdをインストール。
/etc/vsftpd.confを編集。

anonymous_enable=NO
local_enable=YES
write_enable=YES
ascii_upload_enable=YES

vsftpdを再起動。
sudo service vsftpd restart

apacheの設定。今回は面倒くさいのでバーチャルホストは後で設定。
/etc/apache2/sites-available/defaultを開いて、

ServerAdmin webmaster@localhost → ユーザー名@localhost
DocumentRoot /var/www → /var/www/wordpress

に変更。
sudo service apache2 reload

※ ローカルホストからウェブを見えるように設定していないので、他の端末からウェブサイトをチェック。その際、同じネットワーク内からアクセスする場合は、hostsを書き換えてウェブアドレスがサーバーのローカルIPアドレスにリダイレクトするようにしておく。

/dev/hda2を/dataにマウントする。(面倒なので、/mediaは使わない…)
sudo blkidでUUIDを調べる。
/etc/fstab に次の行を書き加える

UUID=blkidで調べたUUID(""とかは付けない) /data ext3 async,auto,dev,exec,nouser,rw 0 0

グループの作成

sudo groupadd databackup
sudo tail -1 /etc/group

ユーザーの所属グループを調べ、databackupグループを追加

id ユーザー名
sudo usermod -G group1,group2,...,group9,databackup ユーザー名

/dataの所有権、アクセス権を変更

sudo chown -R root.databackup /data
sudo chmod -R 774 /data
(sudo chown -R root.root /data として、/data自体のグループはrootグループに戻しておいた方が安全?と思ったけど、ユーザーレベルだとcd /dataができなかったので、このままでいいと思う。)

再起動して、/dev/hda2が自動で/dataにマウントされ、ユーザーで読み書きができるかを確認。
共有を設定すれば、Windowsからもこのパーティションが見える。

vncでアクセスできるようにx11vncをsynapticでインストール。ウェブなどでいろいろな設定方法が書いてあるけど、多分こちらの絶対無糖さんの設定方法が正解なのではないかと思う。

synapticでx11vncをインストール
もしくは sudo apt-get install x11vnc

パスワードの設定
sudo x11vnc -storepasswd /etc/x11vnc.passwd

/etc/init/x11vnc.confを作成
####
start on login-session-start

script
x11vnc -bg -forever -loop -display :0 -auth /var/run/lightdm/root/:0 -rfbauth /etc/x11vnc.passwd -rfbport 5900 -xkb
end script
####

x11vnc の起動
sudo initctl start x11vnc

ネットワークフォルダをマウントする際は、マウントポイントを作り、/etc/fstabに記述する。

//IPアドレス/フォルダ名 /マウントポイント cifs username=ユーザー名,password=パスワード,iocharset=utf8,async,auto,dev,exec,nouser,rw,uid=ユーザー名,gid=グループ名 0 0

synapticでalienをインストール

/etc/samba/smb.confを編集し、samba用workgroupを設定。
sudo service smbd restartでsambaを再起動。

clonezillaでバックアップ。

/etc/cups/cupsd.confの編集

#
#
# "$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $"
#
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#

# Log general information in error_log – change “warn” to “debug”
# for troubleshooting…
LogLevel warn

# Deactivate CUPS’ internal logrotating, as we provide a better one, especially
# LogLevel debug2 gets usable now
MaxLogSize 0

# Administrator user group…
SystemGroup lpadmin
Port 631

# Only listen for connections from the local machine.
#Listen localhost:631
#Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing Off
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS dnssd
BrowseAddress @LOCAL

# Default authentication type, when authentication is required…
DefaultAuthType Basic

# Web interface setting…
WebInterface Yes

# Restrict access to the server…
<Location />
Order allow,deny
Allow @LOCAL
Allow From 192.168.1.0/24
</Location>

# Restrict access to the admin pages…
<Location /admin>
Order allow,deny
Allow @LOCAL
Allow From 192.168.1.0/24
</Location>

# Restrict access to configuration files…
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
Allow From 192.168.1.0/24

</Location>

# Set the default printer/job policies…
<Policy default>
# Job/subscription privacy…
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default

# Job-related operations must be done by the owner or an administrator…
<Limit Create-Job Print-Job Print-URI Validate-Job>
Order deny,allow
</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

# All administration operations require an administrator to authenticate…
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# All printer operations require a printer operator to authenticate…
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# Only the owner or an administrator can cancel or authenticate a job…
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit All>
Order deny,allow
</Limit>
</Policy>

# Set the authenticated printer/job policies…
<Policy authenticated>
# Job/subscription privacy…
JobPrivateAccess default
JobPrivateValues default
SubscriptionPrivateAccess default
SubscriptionPrivateValues default

# Job-related operations must be done by the owner or an administrator…
<Limit Create-Job Print-Job Print-URI Validate-Job>
AuthType Default
Order deny,allow
</Limit>

<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

# All administration operations require an administrator to authenticate…
<Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# All printer operations require a printer operator to authenticate…
<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
AuthType Default
Require user @SYSTEM
Order deny,allow
</Limit>

# Only the owner or an administrator can cancel or authenticate a job…
<Limit Cancel-Job CUPS-Authenticate-Job>
AuthType Default
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>

<Limit All>
Order deny,allow
</Limit>
</Policy>

#
# End of “$Id: cupsd.conf.in 9407 2010-12-09 21:24:51Z mike $”.
#

起動ディスクのUUIDが変わった場合のGRUBの修正方法。
起動するubuntuに起動しないディスクを接続。

sudo grub-install --boot-directory=/media/xxxx /dev/sdy

でgrubをインストールし直す。xxxxは起動しているPC上での起動しないディスクのマウントポイントで、yは起動しないディスクのデバイス番号。

/boot/grub/grub.cfgで古いUUIDを新しいものに置き換える。/etc/fstabでもUUIDも書き換える。
これでgrubの修復は終了。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: