ハードウェア情報の表示

■lshwのインストール(EPELからインストール)

[root@server1 ~]# yum --enablerepo=epel -y install lshw
読み込んだプラグイン:fastestmirror, langpacks, priorities
epel/x86_64/metalink                                                         | 6.2 kB  00:00:00
epel                                                                         | 4.4 kB  00:00:00
(1/2): epel/x86_64/group_gz                                                  | 250 kB  00:00:00
(2/2): epel/x86_64/primary_db                                                | 3.7 MB  00:00:00
(1/2): epel/x86_64/updateinfo                                                | 221 kB  00:00:00
(2/2): epel/x86_64/pkgtags                                                   | 1.3 MB  00:00:00
Loading mirror speeds from cached hostfile
 * base: ftp.yz.yamagata-u.ac.jp
 * centosplus: ftp.yz.yamagata-u.ac.jp
 * epel: ftp.cuhk.edu.hk
 * extras: ftp.yz.yamagata-u.ac.jp
 * updates: ftp.yz.yamagata-u.ac.jp
64 packages excluded due to repository priority protections
依存性の解決をしています
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
--> トランザクションの確認を実行しています。
---> パッケージ lshw.x86_64 0:B.02.17-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package             アーキテクチャー      バージョン                     リポジトリー         容量
====================================================================================================
インストール中:
 lshw                x86_64                B.02.17-3.el7                  epel                276 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 276 k
インストール容量: 797 k
Downloading packages:
lshw-B.02.17-3.el7.x86_64.rpm                                                | 276 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : lshw-B.02.17-3.el7.x86_64                                           1/1
  検証中                  : lshw-B.02.17-3.el7.x86_64                                           1/1

インストール:
  lshw.x86_64 0:B.02.17-3.el7

完了しました!

■ハードウェア情報の表示

[root@server1 ~]# lshw
server1.yokensaka.com
    description: Tower Computer
    product: ProLiant MicroServer (658553-291)
    vendor: HP
    serial: 5C7229P1HC
    width: 64 bits
    capabilities: smbios-2.6 dmi-2.6 vsyscall32
    configuration: boot=normal chassis=tower sku=658553-291 uuid=806BD41E-D21D-B211-8000-A0B3CCDF1D2B
  *-core
       description: Motherboard
       physical id: 0
     *-firmware
          description: BIOS
          vendor: HP
          physical id: 0
          version: O41
          date: 07/29/2011
          size: 64KiB
          capacity: 1984KiB
          capabilities: isa pci pnp upgrade shadowing escd cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification
     *-cpu
          description: CPU
          product: (To Be Filled By O.E.M.)
          vendor: Advanced Micro Devices [AMD]
          physical id: 3
          bus info: cpu@0
          version: AMD Turion(tm) II Neo N40L Dual-Core Processor
          serial: To Be Filled By O.E.M.
          slot: CPU 1
          size: 800MHz
          capacity: 2200MHz
          width: 64 bits
          clock: 200MHz
          capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr hw_pstate npt lbrv svm_lock nrip_save cpufreq
          configuration: cores=2 enabledcores=2 threads=2
        *-cache:0
             description: L1 cache
             physical id: 4
             slot: L1-Cache
             size: 256KiB
             capacity: 256KiB
             capabilities: pipeline-burst internal varies data
        *-cache:1
             description: L2 cache
             physical id: 5
             slot: L2-Cache
             size: 2MiB
             capacity: 2MiB
             capabilities: pipeline-burst internal varies unified
     *-memory
          description: System Memory
          physical id: 14
          slot: System board or motherboard
          size: 8GiB
        *-bank:0
             description: DIMM Synchronous 1333 MHz (0.8 ns)
             product: ModulePartNumber00
             vendor: Manufacturer00
             physical id: 0
             serial: SerNum00
             slot: DIMM0
             size: 4GiB
             width: 64 bits
             clock: 1333MHz (0.8ns)
        *-bank:1
             description: DIMM Synchronous 1333 MHz (0.8 ns)
             product: ModulePartNumber01
             vendor: Manufacturer01
             physical id: 1
             serial: SerNum01
             slot: DIMM1
             size: 4GiB
             width: 64 bits
             clock: 1333MHz (0.8ns)
     *-pci:0
          description: Host bridge
          product: RS880 Host Bridge
          vendor: Advanced Micro Devices, Inc. [AMD]
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 00
          width: 32 bits
          clock: 66MHz
        *-pci:0
             description: PCI bridge
             product: Hewlett-Packard Company
             vendor: Hewlett-Packard Company
             physical id: 1
             bus info: pci@0000:00:01.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pci ht normal_decode bus_master cap_list
             resources: ioport:e000(size=4096) memory:fe700000-fe8fffff ioport:f0000000(size=134217728)
           *-display
                description: VGA compatible controller
                product: RS880M [Mobility Radeon HD 4225/4250]
                vendor: Advanced Micro Devices, Inc. [AMD/ATI]
                physical id: 5
                bus info: pci@0000:01:05.0
                version: 00
                width: 32 bits
                clock: 33MHz
                capabilities: pm msi vga_controller bus_master cap_list rom
                configuration: driver=radeon latency=0
                resources: irq:18 memory:f0000000-f7ffffff ioport:e000(size=256) memory:fe8f0000-fe8fffff memory:fe700000-fe7fffff
        *-pci:1
             description: PCI bridge
             product: RS780 PCI to PCI bridge (PCIE port 2)
             vendor: Advanced Micro Devices, Inc. [AMD]
             physical id: 6
             bus info: pci@0000:00:06.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci pm pciexpress msi ht normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:40 memory:fe900000-fe9fffff
           *-network
                description: Ethernet interface
                product: NetXtreme BCM5723 Gigabit Ethernet PCIe
                vendor: Broadcom Corporation
                physical id: 0
                bus info: pci@0000:02:00.0
                logical name: enp2s0
                version: 10
                serial: a0:b3:cc:df:1d:2b
                size: 100Mbit/s
                capacity: 1Gbit/s
                width: 64 bits
                clock: 33MHz
                capabilities: pm vpd msi pciexpress bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
                configuration: autonegotiation=on broadcast=yes driver=tg3 driverversion=3.136 duplex=full firmware=5723-v3.35 ip=192.168.1.5 latency=0 link=yes multicast=yes port=twisted pair speed=100Mbit/s
                resources: irq:42 memory:fe9f0000-fe9fffff
        *-storage
             description: SATA controller
             product: SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode]
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 11
             bus info: pci@0000:00:11.0
             version: 40
             width: 32 bits
             clock: 66MHz
             capabilities: storage msi ahci_1.0 bus_master cap_list
             configuration: driver=ahci latency=64
             resources: irq:41 ioport:d000(size=8) ioport:c000(size=4) ioport:b000(size=8) ioport:a000(size=4) ioport:9000(size=16) memory:fe6ffc00-fe6fffff
        *-usb:0
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 12
             bus info: pci@0000:00:12.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci-pci latency=64
             resources: irq:18 memory:fe6fe000-fe6fefff
           *-usbhost
                product: OHCI PCI host controller
                vendor: Linux 3.10.0-123.13.2.el7.x86_64 ohci_hcd
                physical id: 1
                bus info: usb@4
                logical name: usb4
                version: 3.10
                capabilities: usb-1.10
                configuration: driver=hub slots=5 speed=12Mbit/s
        *-usb:1
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB EHCI Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 12.2
             bus info: pci@0000:00:12.2
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pm debug ehci bus_master cap_list
             configuration: driver=ehci-pci latency=64
             resources: irq:17 memory:fe6ff800-fe6ff8ff
           *-usbhost
                product: EHCI Host Controller
                vendor: Linux 3.10.0-123.13.2.el7.x86_64 ehci_hcd
                physical id: 1
                bus info: usb@1
                logical name: usb1
                version: 3.10
                capabilities: usb-2.00
                configuration: driver=hub slots=5 speed=480Mbit/s
        *-usb:2
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 13
             bus info: pci@0000:00:13.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci-pci latency=64
             resources: irq:18 memory:fe6fd000-fe6fdfff
           *-usbhost
                product: OHCI PCI host controller
                vendor: Linux 3.10.0-123.13.2.el7.x86_64 ohci_hcd
                physical id: 1
                bus info: usb@5
                logical name: usb5
                version: 3.10
                capabilities: usb-1.10
                configuration: driver=hub slots=5 speed=12Mbit/s
        *-usb:3
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB EHCI Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 13.2
             bus info: pci@0000:00:13.2
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pm debug ehci bus_master cap_list
             configuration: driver=ehci-pci latency=64
             resources: irq:17 memory:fe6ff400-fe6ff4ff
           *-usbhost
                product: EHCI Host Controller
                vendor: Linux 3.10.0-123.13.2.el7.x86_64 ehci_hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 3.10
                capabilities: usb-2.00
                configuration: driver=hub slots=5 speed=480Mbit/s
        *-serial
             description: SMBus
             product: SBx00 SMBus Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 42
             width: 32 bits
             clock: 66MHz
             configuration: driver=piix4_smbus latency=0
             resources: irq:0
        *-ide
             description: IDE interface
             product: SB7x0/SB8x0/SB9x0 IDE Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 14.1
             bus info: pci@0000:00:14.1
             version: 40
             width: 32 bits
             clock: 66MHz
             capabilities: ide bus_master
             configuration: driver=pata_atiixp latency=64
             resources: irq:17 ioport:1f0(size=8) ioport:3f6 ioport:170(size=8) ioport:376 ioport:ff00(size=16)
        *-isa
             description: ISA bridge
             product: SB7x0/SB8x0/SB9x0 LPC host controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 14.3
             bus info: pci@0000:00:14.3
             version: 40
             width: 32 bits
             clock: 66MHz
             capabilities: isa bus_master
             configuration: latency=0
        *-pci:2
             description: PCI bridge
             product: SBx00 PCI to PCI Bridge
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 14.4
             bus info: pci@0000:00:14.4
             version: 40
             width: 32 bits
             clock: 66MHz
             capabilities: pci subtractive_decode bus_master
        *-usb:4
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 16
             bus info: pci@0000:00:16.0
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: ohci bus_master
             configuration: driver=ohci-pci latency=64
             resources: irq:18 memory:fe6fc000-fe6fcfff
           *-usbhost
                product: OHCI PCI host controller
                vendor: Linux 3.10.0-123.13.2.el7.x86_64 ohci_hcd
                physical id: 1
                bus info: usb@6
                logical name: usb6
                version: 3.10
                capabilities: usb-1.10
                configuration: driver=hub slots=4 speed=12Mbit/s
        *-usb:5
             description: USB controller
             product: SB7x0/SB8x0/SB9x0 USB EHCI Controller
             vendor: Advanced Micro Devices, Inc. [AMD/ATI]
             physical id: 16.2
             bus info: pci@0000:00:16.2
             version: 00
             width: 32 bits
             clock: 66MHz
             capabilities: pm debug ehci bus_master cap_list
             configuration: driver=ehci-pci latency=64
             resources: irq:17 memory:fe6ff000-fe6ff0ff
           *-usbhost
                product: EHCI Host Controller
                vendor: Linux 3.10.0-123.13.2.el7.x86_64 ehci_hcd
                physical id: 1
                bus info: usb@3
                logical name: usb3
                version: 3.10
                capabilities: usb-2.00
                configuration: driver=hub slots=4 speed=480Mbit/s
     *-pci:1
          description: Host bridge
          product: Family 10h Processor HyperTransport Configuration
          vendor: Advanced Micro Devices, Inc. [AMD]
          physical id: 101
          bus info: pci@0000:00:18.0
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:2
          description: Host bridge
          product: Family 10h Processor Address Map
          vendor: Advanced Micro Devices, Inc. [AMD]
          physical id: 102
          bus info: pci@0000:00:18.1
          version: 00
          width: 32 bits
          clock: 33MHz
     *-pci:3
          description: Host bridge
          product: Family 10h Processor DRAM Controller
          vendor: Advanced Micro Devices, Inc. [AMD]
          physical id: 103
          bus info: pci@0000:00:18.2
          version: 00
          width: 32 bits
          clock: 33MHz
          configuration: driver=amd64_edac
          resources: irq:0
     *-pci:4
          description: Host bridge
          product: Family 10h Processor Miscellaneous Control
          vendor: Advanced Micro Devices, Inc. [AMD]
          physical id: 104
          bus info: pci@0000:00:18.3
          version: 00
          width: 32 bits
          clock: 33MHz
          configuration: driver=k10temp
          resources: irq:0
     *-pci:5
          description: Host bridge
          product: Family 10h Processor Link Control
          vendor: Advanced Micro Devices, Inc. [AMD]
          physical id: 105
          bus info: pci@0000:00:18.4
          version: 00
          width: 32 bits
          clock: 33MHz
     *-scsi:0
          physical id: 1
          logical name: scsi0
          capabilities: emulated
        *-cdrom
             description: DVD-RAM writer
             product: iHAS324   B
             vendor: ATAPI
             physical id: 0.1.0
             bus info: scsi@0:0.1.0
             logical name: /dev/cdrom
             logical name: /dev/sr0
             version: AL19
             capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
             configuration: ansiversion=5 status=nodisc
     *-scsi:1
          physical id: 2
          logical name: scsi2
          capabilities: emulated
        *-disk
             description: ATA Disk
             product: ST31000524NS
             vendor: Seagate
             physical id: 0.0.0
             bus info: scsi@2:0.0.0
             logical name: /dev/sda
             version: SN12
             serial: 9WK3YQKQ
             size: 931GiB (1TB)
             capabilities: partitioned partitioned:dos
             configuration: ansiversion=5 logicalsectorsize=512 sectorsize=512 signature=000182dd
           *-volume:0
                description: Linux filesystem partition
                physical id: 1
                bus info: scsi@2:0.0.0,1
                logical name: /dev/sda1
                logical name: /boot
                capacity: 500MiB
                capabilities: primary bootable
                configuration: mount.fstype=xfs mount.options=rw,relatime,attr2,inode64,noquota state=mounted
           *-volume:1
                description: Linux LVM Physical Volume partition
                physical id: 2
                bus info: scsi@2:0.0.0,2
                logical name: /dev/sda2
                serial: Kni49J-MUYM-6VxX-TFOK-HkUh-vtgG-QAWV5G
                size: 931GiB
                capacity: 931GiB
                capabilities: primary multi lvm2

CentOS 7 バックアップ(予備サーバへ)

バックアップ(予備サーバへ)

■クライアント側でのRsync によるバックアップ
  (Linuxメインサーバー⇒Linux予備サーバー)

ここでは rsync を使用して、予備サーバーの起動時にメインサーバーのhtmlデータを予備サーバーに自動でバックアップする。rsync はアクセス権限や所有者情報もあわせてバックアップできる為、CGI等のパーミッションや所有者情報の設定をせずに即実行できる。また、rsync コマンドは、2回目以降は更新分のみバックアップしたり、バックアップ元から削除されたファイルをバックアップ先からも削除するなど同期を行うことも可能。データを同期させておけば、メインサーバーにトラブルが発生しても、すぐに予備のサーバーに切り替えることが出来る。
SSH を利用して予備サーバーからメインサーバーに対して rsync を自動実行するようにする。尚作業はメインサーバー、予備サーバーともrootで行う。

まず、バックアップサーバにrsyncをインストールしておき、rsyncコマンドが使える状態にしておく。

[root@server2 ~]# yum install rsync
[root@server2 ~]# rpm -qa | grep rsync
    rsync-3.0.9-15.el7.x86_64

1.鍵の作成
先ずは、予備サーバーのほうで鍵の作成。Enterと書いてある部分は、何も入力せずにEnterキーを押せばOK。

[root@server2 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): → そのままEnter
Enter passphrase (empty for no passphrase): → そのままEnter
Enter same passphrase again: → そのままEnter
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
35:c4:62:b1:e5:b8:8a:a7:cf:b9:ff:3e:52:9a:e5:d1 root@server2.yokensaka.com
The key's randomart image is:
+--[ RSA 2048]----+
|        .oo      |
|        o*.      |
|       .o.+      |
|         o .     |
|        S  .     |
|     . .  + E    |
|    . o  * .     |
|     + .+ o      |
|    ..=o.+o.     |
+-----------------+

2.公開鍵の抜き取り・コピー
公開鍵は/root/.ssh/id_rsa.pub、秘密鍵は/root/.ssh/id_rsaに保存される。このうち公開鍵をメインサーバにscp経由でコピーする。

[root@server2 ~]# scp /root/.ssh/id_rsa.pub 192.168.1.4:/root/.ssh/
id_rsa.pub                                                        100%  408     0.4KB/s

メインサーバーの/root/.ssh/に公開鍵がコピーされたので、これを/root/.ssh/authorized_keyに登録。

[root@server1 ~]# mkdir .ssh
[root@server1 ~]# cat id_rsa.pub >> /root/.ssh/authorized_keys

続いて、authorized_keys2のパーミッションの変更。
[root@server1 ~]# chmod 600 /root/.ssh/authorized_keys

次にメインサーバーのほうのsshd_configを編集して、rootでのログインを許可。

[root@server1 ~]# vi /etc/ssh/sshd_config
PermitRootLogin no
↓
PermitRootLogin yes

この変更を終えたら、メインサーバーのSSHを再起動しておく。
[root@server1 ~]# service sshd restart

以上で、予備サーバーからメインサーバーへのSSH接続は、パスワード等を入力することなく
接続できるようになっている。試しに予備サーバーから、メインサーバーにSSHで接続してみる。

[root@server2 ~]# ssh 192.168.1.4
Last login: Sat Dec 20 17:32:28 2014
[root@server1 ~]#  ← メインサーバーへパスワード応答なしでログインできた
[root@server1 ~]# exit ← メインサーバーからログアウト
logout
Connection to 192.168.1.4 closed.
[root@server2 ~]# ← メインサーバーからログアウトした

これでパスワードなどを入力することなく、メインサーバーに接続できる。

3.バックアップスクリプト作成(クライアント側)
すでに作成されてるサーバーのバックアップファイルと/var/www/html/にあるファイルを予備サーバーに rsync でダウンロードするスプリクト作成。

バックアップ先ディレクトリ作成

[root@server2 ~]# mkdir /backuprsync

スプリクト作成

[root@server2 ~]# vi backuprsync.sh
#!/bin/sh
RSYNC='rsync -avz -e ssh --delete'
$RSYNC 192.168.1.4:/var/www/html/ /var/www/html/ >> /var/log/backup.log
$RSYNC 192.168.1.4:/backup/backup.tar.bz2 /backuprsync/backup.tar.bz2 >> /var/log/backup.log
$RSYNC 192.168.1.4:/backup/fedoradump.sql /backuprsync/fedoradump.sql >> /var/log/backup.log
$RSYNC 192.168.1.4:/backup/blogdump.sql /backuprsync/blogdump.sql >> /var/log/backup.log
$RSYNC 192.168.1.4:/backup/takadump.sql /backuprsync/takadump.sql >> /var/log/backup.log
$RSYNC 192.168.1.4:/backup/centosdump.sql /backuprsync/centosdump.sql >> /var/log/backup.log
※サーバー側の/var/www/html/にあるファイルを、クライアント側の/var/www/html/へ上書きコピー
※サーバー側の/backup/の中にある個別のファイルをクライアント側の/root/backuprsync/にバックアップ

ファイルサーバーのデータのバックアップスクリプト作成。

[root@server2 ~]# vi backupshare.sh
#!/bin/sh
RSYNC='rsync -avz -e ssh --delete'
$RSYNC 192.168.1.4:/home/share/Application/ /home/share/Application/ >> /var/log/backup.log
$RSYNC 192.168.1.4:/home/share/Construction/ /home/share/Construction/ >> /var/log/backup.log
$RSYNC 192.168.1.4:/home/share/Dpro/ /home/share/Dpro/ >> /var/log/backup.log
$RSYNC 192.168.1.4:/home/share/SO-02G/ /home/share/SO-02G/ >> /var/log/backup.log
$RSYNC 192.168.1.4:/home/share/pine/ /home/share/pine/ >> /var/log/backup.log

作成したバックアップスクリプトへ実行権限付加

[root@server2 ~]# chmod +x backuprsync.sh
[root@server2 ~]# chmod +x backupshare.sh

※mysqldump.sqlについてはメインサーバーの情報等が入っているのでクライアント側にリストアするとトラブルになる。mysqldump.sqlはクライアント側にはバックアップしない。あくまで個別のデータのみバックアップする。
※ 誤って予備サーバーのデーターをメインサーバーに上書きする可能性があるのでメインサーバーにはこのスプリプトは置かないこと!!

4.バックアップスクリプト確認(クライアント側)

[root@server2 ~]# /root/backuprsync.sh ← バックアップスクリプト実行
[root@server2 ~]# ll /var/www/html/ ← バックアップ結果確認
※メインサーバーと同じ物がバックアップされてるはず
[root@server2 ~]# ll /backuprsync ← バックアップ結果確認
合計 3399308
-rw-r--r-- 1 root root 3460677998  12月 23 03:04 backup.tar.bz2
-rw-r--r-- 1 root root   13692391  12月 23 02:00 blogdump.sql
-rw-r--r-- 1 root root    3783663  12月 23 02:00 centosdump.sql
-rw-r--r-- 1 root root     816538  12月 23 02:00 fedoradump.sql
-rw-r--r-- 1 root root     792233  12月 23 02:00 takadump.sql

※メインサーバーのバックアップファイルが/root/にバックアップされている

5.バックアップスクリプト自動実行設定

[root@server2 ~]# echo "30 3 * * * root /root/backuprsync.sh" > /etc/cron.d/backuprsync

6.データベースを予備サーバーへ復元
htmlファイルは直に上書きしているが、データベースファイルは予備サーバー側で以下のコマンドを実行すれば各データベースが復元される

# mysql -uroot -pパスワード fedora --default-character-set=binary < /backuprsync/fedoradump.sql
# mysql -uroot -pパスワード blog --default-character-set=binary < /backuprsync/blogdump.sql
# mysql -uroot -pパスワード taka --default-character-set=binary < /backuprsync/takadump.sql
# mysql -uroot -pパスワード centos --default-character-set=binary < /backuprsync/centosdump.sql

7.データベースを予備サーバーへ復元するスプリクトを作成

[root@server2 ~]# vi restore.sh
#!/bin/bash
mysql -uroot -pパスワード fedora --default-character-set=binary < /backuprsync/fedoradump.sql
mysql -uroot -pパスワード blog --default-character-set=binary < /backuprsync/blogdump.sql
mysql -uroot -pパスワード taka --default-character-set=binary < /backuprsync/takadump.sql
mysql -uroot -pパスワード centos --default-character-set=binary < /backuprsync/centosdump.sql
作成したリストアスクリプトへ実行権限付加
[root@server2 ~]# chmod 700 restore.sh
リストアスクリプトを実行してみる
[root@server2 ~]# ./restore.sh

※ 誤って古いデーターを上書きする可能性があるのでメインサーバーにはこの設定はしないこと!!

8.リストアスクリプト自動実行設定

[root@server2 ~]# echo "30 5 * * * root /root/restore.sh" > /etc/cron.d/restore

ちなみに予備サーバの自動実行設定は以下のようになっている。
/etc/cron.dには時間指定のスクリプトを入れておき、特に時間指定しなくても良さそうなものは/etc/cron.dailyにスクリプトを入れておく。

[root@server2 ~]# echo "30 3 * * * root /root/backuprsync.sh" > /etc/cron.d/backuprsync
[root@server2 ~]# echo "30 4 * * * root /root/backupshare.sh" > /etc/cron.d/backupshare
[root@server2 ~]# echo "30 5 * * * root /root/restore.sh" > /etc/cron.d/restore
[root@server2 ~]# echo "0 6 * * * root /root/mysqldump.sh" > /etc/cron.d/mysqldump
[root@server2 ~]# echo "15 6 * * * root /root/mysqlbackup.sh" > /etc/cron.d/mysqlbackup
[root@server2 ~]# echo "30 6 * * * root /root/backup.sh" > /etc/cron.d/backup
[root@server2 ~]# mv chkrootkit /etc/cron.daily/
[root@server2 ~]# mv clamscan /etc/cron.daily/

■その他のバックアップコマンド
下のコマンドでメインサーバーの/home配下にあるファイルとフォルダが予備サーバーの/home/userに丸ごとコピーされる。

[root@server2 ~]# rsync -avz -e ssh 192.168.1.4:/home/ /home/user

rsyncコマンドで使用されるオプションには以下のものがある。
rsnyc のオプション一覧
-v バックアップ時にバックアップしているファイル名を表示する
-r 指定したディレクトリ以下の各ディレクトリも再帰的にバックアップする
-l シンボリック・リンクをそのままにバックアップする
-H ハード・リンクをそのままにバックアップする
-p パーミッション属性を保存したままバックアップする
-o 所有者属性を保存したままバックアップ(root のみ可能)
-g グループ属性を保存したままバックアップ
-t タイムスタンプを保存したままバックアップ
-D デバイスファイルを保存したままバックアップ(root のみ可能)
-z データーを圧縮して転送する
-u 追加されたファイルだけバックアップする
--delete バックアップ元で削除されたファイルはバックアップ先でも削除する
-e ssh SSHの使用
--password-file パスワードファイルの指定
--existing 更新されたファイルだけをバックアップし、追加されたファイルはバックアップしない
-a 上記のオプションのうち rlptgoD を指定する

CentOS 7 バックアップ(サーバ内へ)

サーバーのデータを tar コマンドを使い、同じサーバー内に圧縮バックアップが出来るようにする。
■ サーバー側でのバックアップ設定

1.バックアップスクリプト作成

[root@server1 ~]# vi backup.sh
#!/bin/bash
LANG=C
# バックアップ対象ファイルリスト名
BACKUPLIST=/root/backuplist
[ ! -s $BACKUPLIST ] && echo "$BACKUPLIST is not found" && exit 1
# バックアップ対象外ファイルリスト名
BACKUPNOLIST=/root/backupnolist
# バックアップ先ディレクトリ名
BACKUPDIR=/backup
mkdir -p $BACKUPDIR
# バックアップの保存世代数
BACKUPGEN=10
# バックアップのログファイル名
BACKUPLOG=/var/log/backup.log
# バックアップ先ディレクトリをバックアップ対象外ファイルリストに追加
TMPBACKUPNOLIST=`mktemp`
[ -s $BACKUPNOLIST ] && cat $BACKUPNOLIST > $TMPBACKUPNOLIST
echo $BACKUPDIR >> $TMPBACKUPNOLIST
# 前回バックアップしたファイル名変更
cd $BACKUPDIR
OLDBACKUPFILE=`ls backup.tar.bz2* 2>/dev/null`
if [ -f $OLDBACKUPFILE ]; then
TIMESTAMP=`ls --full-time $OLDBACKUPFILE|awk '{print $6}'|tr -d -`
mv $BACKUPDIR/$OLDBACKUPFILE $BACKUPDIR/${TIMESTAMP}$OLDBACKUPFILE > /dev/null 2>&1
fi
# バックアップのログファイル作成
rm -f $BACKUPLOG
touch $BACKUPLOG
chmod 400 $BACKUPLOG
# バックアップの実行
echo "`date` backup start" >> $BACKUPLOG
tar cjvfP $BACKUPDIR/backup.tar.bz2 -T $BACKUPLIST -X $TMPBACKUPNOLIST >> $BACKUPLOG 2>&1
[ $? -ne 0 ] && cat $BACKUPLOG | mail -s "BACKUP NG" root && exit 1
echo "`date` backup end" >> $BACKUPLOG
# バックアップの保存世代を超えた古いバックアップファイルを削除
if [ $(ls /backup/|wc -l) -gt $BACKUPGEN ]; then
OLDBACKUPCNT=`expr $(ls /backup/|wc -l) - $BACKUPGEN`
for file in `ls -t $BACKUPDIR|tail -n $OLDBACKUPCNT`
do
rm -f $BACKUPDIR/$file
done
fi
# バックアップ対象外ファイルを削除
rm -f $TMPBACKUPNOLIST

バックアップスクリプトへ実行権限付加

[root@server1 ~]# chmod 700 backup.sh

2.バックアップ対象ファイルリストの作成
バックアップ対象ファイルリストに/var/www/htmlディレクトリを追加

[root@server1 ~]# echo "/var/www/html" >> backuplist

3.バックアップ対象外ファイルリストの作成
例としてバックアップ対象外ファイルリストに/var/www/errorディレクトリを追加

[root@server1 ~]# echo "/var/www/error" >> backupnolist

4.バックアップスクリプトの確認

[root@server1 ~]# ./backup.sh ← バックアップスクリプトの実行
[root@server1 ~]# ls -lh /backup ← バックアップ先ディレクトリの照会
合計 3.3G
-rw-r--r-- 1 root root 3.3G 12月 17 03:05 backup.tar.bz2
↑ backup.tar.bz2というバックアップファイルが出来ている

5.バックアップディレクトリ、ファイルの確認

[root@server1 ~]# tar tjvf /backup/backup.tar.bz2
バックアップしたディレクトリ、ファイルが一覧表示される

6.バックアップ定期自動実行設定

毎日2:30にバックアップを実行する
[root@server1 ~]# echo "30 2 * * * root /root/backup.sh" > /etc/cron.d/backup

■MySQLのデータベースのバックアップ
MySQLのバックアップにも色々な方法があるが、もっとも簡単な方法はmysqldumpを利用して自サーバー内の/backupディレクトリーにバックアップすることだと思う。

1.mysqldumpによるバックアップ
たとえば、全データベースを/backupディレクトリーにalldump.sqlという名前でバックアップするのなら次のようにする。linuxではこれをcronから起動させれば深夜に無人バックアップさせることが出来る。

# mysqldump -A -uroot -pパスワード --default-character-set=binary > /backup/alldump.sql

個別のデータベースを/backupディレクトリーにデータベース名.sqlという名前でバックアップしたい場合は以下のようにする。

# mysqldump mysql -uroot -pパスワード --default-character-set=binary > /backup/mysqldump.sql
# mysqldump fedora -uroot -pパスワード --default-character-set=binary > /backup/fedoradump.sql
# mysqldump nucleus -uroot -pパスワード --default-character-set=binary > /backup/nucleusdump.sql
# mysqldump taka -uroot -pパスワード --default-character-set=binary > /backup/takadump.sql
# mysqldump centos -uroot -pパスワード --default-character-set=binary > /backup/centosdump.sql

2.MySQLのデータベースの自動バックアップ

MySQLの個別のデータベースを/backupにバックアップするスクリプトを作成。
[root@server1 ~]# vi mysqldump.sh
#! /bin/sh
mysqldump mysql -uroot -pパスワード --default-character-set=binary > /backup/mysqldump.sql
mysqldump fedora -uroot -pパスワード --default-character-set=binary > /backup/fedoradump.sql
mysqldump nucleus -uroot -pパスワード --default-character-set=binary > /backup/nucleusdump.sql
mysqldump taka -uroot -pパスワード --default-character-set=binary > /backup/takadump.sql
mysqldump centos -uroot -pパスワード --default-character-set=binary > /backup/centosdump.sql
実行権限を与える
[root@server1 ~]# chmod 700 mysqldump.sh
バックアップスクリプトを実行
[root@server1 ~]# ./mysqldump.sh
バックアップされてるか確認
[root@server1 ~]# ls -lh /backup
合計 3.4G
-rw-r--r-- 1 root root 3.3G 12月 17 03:05 backup.tar.bz2
-rw-r--r-- 1 root root  13M 12月 17 18:58 blogdump.sql
-rw-r--r-- 1 root root 2.3M 12月 17 18:58 centosdump.sql
-rw-r--r-- 1 root root 694K 12月 17 18:58 fedoradump.sql
-rw-r--r-- 1 root root 503K 12月 17 18:58 mysqldump.sql
-rw-r--r-- 1 root root 788K 12月 17 18:58 takadump.sql

3.自動実行
すでに毎日2:30にデータベース以外のバックアップを自動実行させているので、データベースのバックアップはその前の毎日2:00に自動実行させる。

[root@server1 ~]# echo "0 2 * * * root /root/mysqldump.sh" > /etc/cron.d/mysqldump

ちなみにメインサーバの自動実行設定は以下のようになっている。
/etc/cron.dには時間指定のスクリプトを入れておき、特に時間指定しなくても良さそうなものは/etc/cron.dailyにスクリプトを入れておく。

[root@server1 ~]# echo "*/1 * * * * root /usr/ddns/ddo.jpIP_upgrade.pl" > /etc/cron.d/ddns
[root@server1 ~]# echo "0 2 * * * root /root/mysqldump.sh" > /etc/cron.d/mysqldump
[root@server1 ~]# echo "15 2 * * * root /root/mysqlbackup.sh" > /etc/cron.d/mysqlbackup
[root@server1 ~]# echo "30 2 * * * root /root/backup.sh" > /etc/cron.d/backup
[root@server1 ~]# mv chkrootkit /etc/cron.daily/
[root@server1 ~]# mv clamscan /etc/cron.daily/

4.復元
バックアップファイルをサーバーへ復元する必要が出てきた場合は、以下のコマンドを実行することで、パーミッション、所有者も含めて元のメインサーバーにリストア出来る。

[root@server1 ~]# tar jxvfP /backup/backup.tar.bz2
個別にパーミッション、所有者も含めて復元する場合は
[root@server1 ~]# tar jxvfP /backup/backup.tar.bz2 /var/www/html/ファイル名

mysqldumpでバックアップしたファイルをリストアするにはmysqlコマンドを使う。

全てをバックアップした場合のリストア
# mysql -uroot -pパスワード --default-character-set=binary < /backup/alldump.sql
個別のデータベースをバックアップした場合のリストア
# mysql -uroot -pパスワード mysql --default-character-set=binary < /backup/mysqldump.sql
# mysql -uroot -pパスワード fedora --default-character-set=binary < /backup/fedoradump.sql
# mysql -uroot -pパスワード nucleus --default-character-set=binary < /backup/nucleusdump.sql
# mysql -uroot -pパスワード taka --default-character-set=binary < /backup/takadump.sql
# mysql -uroot -pパスワード centos --default-character-set=binary < /backup/centosdump.sql
mysqlをリストアした場合や全てをリストアした場合はmysqlを再起動が必要
[root@server1 ~]# /etc/init.d/mysql restart

5.mysqldumpの世代管理
mysqldumpで個別バックアップして世代管理したい場合

[root@server1 ~]# vi mysqlbackup.sh
#!/bin/bash
# 認証情報
DBUSER="root";
DBPASSWD="パスワード";
# バックアップ先ディレクトリ /backup/mysql/130524 となる。
BAKDIR="/backup/mysql";
TODAYS_BAKDIR="$BAKDIR/`date +%y%m%d`";
# DB一覧
DATABASES=`mysql -NB -u$DBUSER -p$DBPASSWD -e 'show databases'|egrep -vi 'information_schema|performance_schema'`;
# バックアップ先がなければ作成
[ ! -d $TODAYS_BAKDIR ] && mkdir -p $TODAYS_BAKDIR;
# DB名でループ、ダンプ取得
for DB in $DATABASES; do
mysqldump -u$DBUSER -p$DBPASSWD --opt --events --default-character-set=binary --skip-lock-tables $DB > $TODAYS_BAKDIR/$DB.dump.sql;
done;
# 3 日より古いバックアップは削除
find $BAKDIR -type d -mtime +3 -print0 | xargs -0 rm -rf;

これを毎日1:00に自動実行させる

[root@server1 ~]# echo "15 2 * * * root /root/mysqlbackup.sh" > /etc/cron.d/mysqlbackup

CentOS 7 phpMyAdminインストール

phpMyAdminは標準のリポジトリには入っていないのでEPELリポジトリを追加しておく。
■ phpMyAdminインストール

[root@server1 ~]# yum install phpmyadmin
Loaded plugins: fastestmirror, priorities, refresh-packagekit
Loading mirror speeds from cached hostfile
epel/metalink                                                                | 5.0 kB     00:00
* base: www.ftp.ne.jp
* centosplus: www.ftp.ne.jp
* epel: ftp.jaist.ac.jp
* extras: www.ftp.ne.jp
* rpmforge: ftp.riken.jp
* updates: www.ftp.ne.jp
117 packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.2.7.1-1.el7 will be installed
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.2.7.1-1.el7.noarch
--> Running transaction check
---> Package php-php-gettext.noarch 0:1.0.11-10.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
====================================================================================================
Package                     Arch               Version                      Repository        Size
====================================================================================================
Installing:
phpMyAdmin                  noarch             4.2.7.1-1.el7                epel               20 M
Installing for dependencies:
php-php-gettext             noarch             1.0.11-10.el7                 epel              57 k
Transaction Summary
====================================================================================================
Install       2 Package(s)
Total download size: 4.3 M
Installed size: 17 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): php-php-gettext-1.0.11-10.el7.noarch.rpm                               |  57 kB     00:00
(2/2): phpMyAdmin-4.2.7.1-1.el7.noarch.rpm                                   | 20 MB     00:00
----------------------------------------------------------------------------------------------------
Total                                                               5.1 MB/s | 4.3 MB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php-php-gettext-1.0.11-10.el7.noarch                                              1/2
Installing : phpMyAdmin-4.2.7.1-1.el7.noarch                                                  2/2
Verifying  : php-php-gettext-1.0.11-10.el7.noarch                                              1/2
Verifying  : phpMyAdmin-4.2.7.1-1.el7.noarch                                                  2/2
Installed:
phpMyAdmin.noarch 0:4.2.7.1-1.el7
Dependency Installed:
php-php-gettext.noarch 0:1.0.11-10.el7
Complete!

■ 設定
Apacheのバージョンによって編集する場所が違う。

# httpd -v でApacheのバージョン確認できる。
[root@server1 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Jun 17 2014 19:11:24

[root@server1 ~]# vi /etc/httpd/conf.d/phpMyAdmin.conf
<Directory /usr/share/phpMyAdmin/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
       Require ip 192.168.1.  ← 追加:内部ネットワークからのアクセスを許可
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

Apache設定反映

[root@server1 ~]# service httpd restart
Redirecting to /bin/systemctl restart  httpd.service

■ phpMyAdmin確認
http://サーバー名/phpmyadmin/へアクセスして、phpMyAdminのログイン画面が表示されることと、MySQLに登録されているアカウントでログインできることを確認

SSHサーバ(OpenSSH)

SSHは、データの暗号化や公開鍵を利用した認証技術により安全なリモート管理やファイル転送を可能にするツール。パスワードやデータの漏洩といった危険性が高いTelenetやFTPに代わって、リモート管理に良く使われるようになった。接続方式にはSSH1とSSH2がありSSH2の方が、SSH1より強固な暗号化になっているので、ここではSSH2を使用し鍵方式によるログインの設定を行う。
■ OpenSSHの設定

OpenSSH設定ファイルを編集
[root@server1 ~]# vi /etc/ssh/sshd_config
スーパーユーザでのログインを禁止
#PermitRootLogin yes
↓
PermitRootLogin no  ← #を削除して no に変更
通常のパスワードではなく鍵方式に変更
#PasswordAuthentication yes
↓
PasswordAuthentication no  ← #を削除して no に変更
空パスワードの禁止
#PermitEmptyPasswords no
↓
PermitEmptyPasswords no  ← #を削除

■ SSHアクセス制限

サーバー自身、内部ネットワーク、特定の外部IP(xxx.xxx.xxx.xxx)からのアクセスを許可
[root@server1 ~]# echo "sshd : 127.0.0.1 192.168.1. xxx.xxx.xxx.xxx" >> /etc/hosts.allow
上記以外の全てのアクセスを禁止
[root@server1 ~]# echo "sshd : ALL" >> /etc/hosts.deny

会社等からアクセスする場合、自分の会社の接続環境(IPアドレス)を調べ、/etc/hosts.allowへ登録する必要がある。そんな時は診断くんで確認できる。
■ OpenSSHの再起動

[root@server1 ~]# systemctl restart sshd ← sshd再起動
[root@server1 ~]# systemctl enable sshd ← sshd自動起動設定
[root@server1 ~]# systemctl status sshd ← sshd状態表示
sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled)
   Active: active (running) since 日 2014-12-21 08:11:12 JST; 1min 5s ago
 Main PID: 14825 (sshd)
   CGroup: /system.slice/sshd.service
           └─14825 /usr/sbin/sshd -D

12月 21 08:11:12 server1.yokensaka.com systemd[1]: Started OpenSSH server daemon.
12月 21 08:11:12 server1.yokensaka.com sshd[14825]: Server listening on 0.0.0.0 port 22.
12月 21 08:11:12 server1.yokensaka.com sshd[14825]: Server listening on :: port 22.

■ SSH2による鍵の作成

鍵を作成するユーザーで作業を進める。
[root@server1 ~]# su - higo
鍵の作成を行う(何も入力しないで空エンターを押す)
[higo@server1 ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/higo/.ssh/id_rsa):
Created directory '/home/higo/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/higo/.ssh/id_rsa.
Your public key has been saved in /home/higo/.ssh/id_rsa.pub.
The key fingerprint is:
50:49:5b:d2:b8:09:0f:6b:68:bc:5b:83:2e:4c:ce:25 higo@server1.yokensaka.com
The key's randomart image is:
+--[ RSA 2048]----+
|       .++.      |
|      o.o+.      |
|   . ..=.o       |
|    + o.+        |
|   . +  S        |
|  E + o          |
| = + o .         |
|  = o            |
|   .             |
+-----------------+
鍵の作成先を表示する
[higo@server1 ~]$ ls -la /home/higo/.ssh/
合計 16
drwx------   2 higo higo 4096  9月 19 10:49 2011 .
drwx------. 24 higo higo 4096  9月 19 10:49 2011 ..
-rw-------   1 higo higo 1675  9月 19 10:49 2011 id_rsa  ← 秘密鍵鍵
-rw-r--r--   1 higo higo  408  9月 19 10:49 2011 id_rsa.pub  ← 公開鍵
公開鍵をauthorized_keysに追加
[higo@server1 ~]$ cat /home/higo/.ssh/id_rsa.pub >> /home/higo/.ssh/authorized_keys
公開鍵を自分のみアクセスできるように変更
[higo@server1 ~]$ chmod 600 /home/higo/.ssh/authorized_keys
公開鍵を削除
[higo@server1 ~]$ rm -f /home/higo/.ssh/id_rsa.pub
鍵の作成先を表示
[higo@server1 ~]$ ls -la /home/higo/.ssh/
合計 16
drwx------   2 higo higo 4096  9月 19 10:51 2011 .
drwx------. 24 higo higo 4096  9月 19 10:49 2011 ..
-rw-------   1 higo higo  408  9月 19 10:51 2011 authorized_keys  ← 公開鍵
-rw-------   1 higo higo 1675  9月 19 10:49 2011 id_rsa           ← 秘密鍵

■ 秘密鍵の抜き取り 
(xWindowにしてUSB経由で抜き取り、クライアントマシンにコピーするほうが簡単)
FTPでコピーする方法

スーパーユーザ(root)になる。
[higo@server1 ~]$ su -
rootのパスワードを入力。
Password:
FTPサーバをインストール
[root@server1 ~]# yum install vsftpd
Loaded plugins: fastestmirror, refresh-packagekit
Existing lock /var/run/yum.pid: another copy is running as pid 2557.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory :  47 M RSS ( 95 MB VSZ)
Started: Mon Sep 19 08:36:00 2011 - 00:14 ago
State  : Sleeping, pid: 2557
Loading mirror speeds from cached hostfile
* base: ftp.jaist.ac.jp
* centosplus: ftp.jaist.ac.jp
* epel: ftp.jaist.ac.jp
* extras: ftp.jaist.ac.jp
* updates: mirror.khlug.org
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.i686 0:2.2.2-6.el6_0.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
==========================================================================================
Package              Arch           Version                  Repository             Size
==========================================================================================
Installing:
vsftpd               i686           2.2.2-6.el6_0.1          updates               155 k
Transaction Summary
==========================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)
Total download size: 155 k
Installed size: 343 k
Is this ok [y/N]: y
Downloading Packages:
vsftpd-2.2.2-6.el6_0.1.i686.rpm                                    | 155 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing     : vsftpd-2.2.2-6.el6_0.1.i686                                        1/1
Installed:
vsftpd.i686 0:2.2.2-6.el6_0.1
Complete!
FTPサーバを起動させる
[root@server1 ~]# /etc/rc.d/init.d/vsftpd start
vsftpd 用の vsftpd を起動中:                               [  OK  ]

ここからは、Windowsのコマンドプロンプトで作業する。(管理者として実行)

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Users\higo>cd \ ← ローカルのカレントをC:\にしておく
C:\>ftp 192.168.1.4 ← FTPでサーバに接続
192.168.1.4 に接続しました。
220 (vsFTPd 2.2.2)
ユーザー (192.168.1.4:(none)): higo ← ユーザ名を入力
331 Please specify the password.
パスワード: ← パスワードを入力
230 Login successful.
ftp> bin ← 転送モードをバイナリモードにする
200 Switching to Binary mode.
ftp> get /home/higo/.ssh/id_rsa ← 秘密鍵を取得
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /home/higo/.ssh/id_rsa (951 bytes).
226 File send OK.
ftp: 1,675 bytes received in 0.00Seconds 1675000.00Kbytes/sec.
ftp> bye
221 Goodbye.
C:\>
C:\>dir ← ローカルの確認
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 2514-DE80 です
C:\ のディレクトリ
2011/07/31  13:00    <DIR>          ATI
2011/07/31  18:22    <DIR>          ColorVision
2011/08/03  00:17    <DIR>          CrystalDiskMark0003FFBA
2011/08/07  23:55    <DIR>          CrystalDiskMark002D3A0D
2011/08/12  21:28    <DIR>          CrystalDiskMark004337AE
2011/07/31  08:50    <DIR>          FIRSTITPRO
2011/09/19  10:49             1,675 id_rsa ←  コピーされている
2011/07/30  21:25    <DIR>          Intel
2011/07/31  19:57             1,692 lucid.log
2009/07/14  12:20    <DIR>          PerfLogs
2011/09/17  07:39    <DIR>          Program Files
2011/09/17  07:37    <DIR>          Program Files (x86)
2011/07/31  01:48    <DIR>          temp
2011/07/30  20:43    <DIR>         Users
2011/09/17  03:21    <DIR>          Windows
2011/07/31  21:18         8,388,608 Z68PRO_1.60
3 個のファイル           8,391,975 バイト
13 個のディレクトリ  52,273,422,336 バイトの空き領域
C:\>exit ← コマンドプロンプトを終了

■ 外部からの接続
外部からの接続には、ルーターの設定が必要。
ルータの設定で22番のポートを開ける。
■ ポートチェック【ポート開放確認】
「管理しているサーバーが外部から接続アクセスできるか?」「ポートは開放されているか?」「portは閉じているか?」「ルータのポートは開放されているか」等の
ポートチェック・ポートの疎通確認テストはこちらで
■ 秘密鍵の抜き取りが出来たら、次はリモート接続(PuTTY)の設定

PHPでファイルがアップロードできない

■PHPでファイルがアップロードできない場合は、まずphp.iniの下記の設定を変更する。

upload_max_filesize  → アップロードされるファイルの最大サイズ

アップロードしたいファイルサイズがupload_max_filesizeを超えていたら、アップロードできない。

そんな時はupload_max_filesizeの設定値を増やしてあげる。

ただし、この値の変更時は、下記2つの設定値にも注意する必要がある。

memory_limit  → スクリプトが確保できる最大メモリ
post_max_size  → POSTデータに許可される最大サイズ

上記3つの項目が下記のような関係になるように設定しなければいけない。

memory_limit >= post_max_size >= upload_max_filesize

例として、ファイルサイズを32MBまで許容する設定にする。
php.iniを直接編集する

/etc/php.ini(保存場所は違う可能性がある)を直接編集。

実際はこんな風に綺麗に3行並んでいない。
<pre>[root@server1 ~]# vi /etc/php.ini

memory_limit = 128M

post_max_size = 32M

upload_max_filesize = 32M</pre>

CentOS 7 chronyインストール

NTPサーバー(chrony)

CentOS7 の時刻同期に関しては、今まで使われてきた「ntpd」に代わって「chronyd」が標準となった。

■NTPサーバー停止
今まで使われてきた「ntpd」をインストールしている場合は停止する。

[root@server1 ~]# systemctl stop ntpd
[root@server1 ~]# systemctl disable ntpd
rm '/etc/systemd/system/multi-user.target.wants/ntpd.service'
[root@server1 ~]# systemctl list-unit-files -t service | grep ntpd
ntpd.service                                disabled
ntpdate.service                             disabled

■Chronyサーバーインストール
すでにインストールされているはずだが、インストールされていなければyumでインストールする。

[root@server1 ~]# yum -y install chrony
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * centosplus: ftp.riken.jp
 * extras: mirror.nus.edu.sg
 * updates: mirror.nus.edu.sg
パッケージ chrony-1.29.1-1.el7.centos.x86_64 はインストール済みか最新バージョンです
何もしません

■Chronyサーバー設定ファイル編集

[root@server1 ~]# vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst ← #コメントアウト
#server 1.centos.pool.ntp.org iburst ← #コメントアウト
#server 2.centos.pool.ntp.org iburst ← #コメントアウト
#server 3.centos.pool.ntp.org iburst ← #コメントアウト
server ntp1.plala.or.jp ← server には、プロバイダーのNTPサーバーを追加
server ntp2.plala.or.jp ← セカンダリのNTPサーバーも追加

# Ignore stratum in source selection.
stratumweight 0

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Enable kernel RTC synchronization.
rtcsync

# In first three updates step the system clock instead of slew
# if the adjustment is larger than 10 seconds.
makestep 10 3

# Allow NTP client access from local network.
#allow 192.168/16
allow 192.168.1.0/24 ← 内部からのアクセス許可

# Listen for commands only on localhost.
bindcmdaddress 127.0.0.1
bindcmdaddress ::1

# Serve time even if not synchronized to any NTP server.
#local stratum 10

keyfile /etc/chrony.keys

# Specify the key used as password for chronyc.
commandkey 1

# Generate command key if missing.
generatecommandkey

# Disable logging of client accesses.
noclientlog

# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
logchange 0.5

logdir /var/log/chrony
#log measurements statistics tracking

■Chronyサーバーの起動
いったん、手動でNTPサーバの時刻と同期させる。

[root@server1 ~]# ntpdate ntp1.plala.or.jp
21 Dec 07:32:01 ntpdate[2323]: no server suitable for synchronization found

■Chronyサーバー再起動

[root@server1 ~]# systemctl restart chronyd

■Chronyサーバー自動起動設定

[root@server1 ~]# systemctl enable chronyd
[root@server1 ~]# systemctl list-unit-files -t service | grep chronyd
chronyd.service                             enabled

■Chronyサーバーの動作確認。

[root@server1 ~]# chronyc sources
210 Number of sources = 2
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^? ntp1.plala.or.jp              0   6     0   10y     +0ns[   +0ns] +/-    0ns
^? ntp2.plala.or.jp              0   6     0   10y     +0ns[   +0ns] +/-    0ns

■約15分後、再度Chronyサーバーの動作確認。

[root@server1 ~]# chronyc sources
210 Number of sources = 2
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^+ ntp1.plala.or.jp              4   6     7     0   -198us[  -20ms] +/-  103ms
^* ntp2.plala.or.jp              4   6     7     0    +56us[  -20ms] +/-  103ms
指定したNTPサーバの前に*や+が表示された時は同期完了の状態。

CentOS 7 Tripwireインストール

TripwireをYumでインストール

TripwireをYumでインストールする場合、EPELリポジトリを追加しておく。
古いTripwireが残ってる場合はアンインストールしておく

[root@server1 ~]# yum remove tripwire
下記コマンドで検索して出てきたものは全て削除しておく(ディレクトリー「rm -rf」、ファイル「rm -f」)
[root@server1 ~]# find /* | grep tripwire

■Tripwireのインストール

[root@server1 ~]# yum install tripwire
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: mirror.vodien.com
 * centosplus: mirror.vodien.com
 * epel: mirrors.vinahost.vn
 * extras: mirror.vodien.com
 * rpmforge: ftp.neowiz.com
 * updates: mirror.vodien.com
77 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ tripwire.x86_64 0:2.4.2.2-6.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                アーキテクチャー     バージョン                    リポジトリー        容量
====================================================================================================
インストール中:
 tripwire               x86_64               2.4.2.2-6.el7                 epel               1.0 M

トランザクションの要約
====================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 1.0 M
インストール容量: 4.1 M
Is this ok [y/d/N]: y
Downloading packages:
tripwire-2.4.2.2-6.el7.x86_64.rpm                                            | 1.0 MB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : tripwire-2.4.2.2-6.el7.x86_64                                       1/1
  検証中                  : tripwire-2.4.2.2-6.el7.x86_64                                       1/1

インストール:
  tripwire.x86_64 0:2.4.2.2-6.el7

完了しました!

■tripwireの初期設定

[root@server1 ~]# tripwire-setup-keyfiles

----------------------------------------------
The Tripwire site and local passphrases are used to sign a  variety  of
files, such as the configuration, policy, and database files.

Passphrases should be at least 8 characters in length and contain  both
letters and numbers.

See the Tripwire manual for more information.

----------------------------------------------
Creating key files...

(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

Enter the site keyfile passphrase: ← サイトパスフレーズを設定
Verify the site keyfile passphrase: ← サイトパスフレーズを再度入力
Generating key (this may take several minutes)...Key generation complete.

(When selecting a passphrase, keep in mind that good passphrases typically
have upper and lower case letters, digits and punctuation marks, and are
at least 8 characters in length.)

Enter the local keyfile passphrase: ← ローカルパスフレーズを設定
Verify the local keyfile passphrase: ← ローカルパスフレーズを再度入力
Generating key (this may take several minutes)...Key generation complete.

----------------------------------------------
Signing configuration file...
Please enter your site passphrase: ← サイトパスフレーズを入力
Wrote configuration file: /etc/tripwire/tw.cfg

A clear-text version of the Tripwire configuration file:
/etc/tripwire/twcfg.txt
has been preserved for your inspection.  It  is  recommended  that  you
move this file to a secure location and/or encrypt it in place (using a
tool such as GPG, for example) after you have examined it.


----------------------------------------------
Signing policy file...
Please enter your site passphrase: ← サイトパスフレーズを入力
Wrote policy file: /etc/tripwire/tw.pol

A clear-text version of the Tripwire policy file:
/etc/tripwire/twpol.txt
has been preserved for  your  inspection.  This  implements  a  minimal
policy, intended only to test  essential  Tripwire  functionality.  You
should edit the policy file to  describe  your  system,  and  then  use
twadmin to generate a new signed copy of the Tripwire policy.

Once you have a satisfactory Tripwire policy file, you should move  the
clear-text version to a secure location  and/or  encrypt  it  in  place
(using a tool such as GPG, for example).

Now run "tripwire --init" to enter Database Initialization  Mode.  This
reads the policy file, generates a database based on its contents,  and
then cryptographically signs the resulting  database.  Options  can  be
entered on the command line to specify which policy, configuration, and
key files are used  to  create  the  database.  The  filename  for  the
database can be specified as well. If no  options  are  specified,  the
default values from the current configuration file are used.

■Tripwireの設定

[root@server1 ~]# vi /etc/tripwire/twcfg.txt
ROOT                   =/usr/sbin
POLFILE                =/etc/tripwire/tw.pol
DBFILE                 =/var/lib/tripwire/$(HOSTNAME).twd
REPORTFILE             =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
SITEKEYFILE            =/etc/tripwire/site.key
LOCALKEYFILE           =/etc/tripwire/$(HOSTNAME)-local.key
EDITOR                 =/bin/vi
LATEPROMPTING          =false
LOOSEDIRECTORYCHECKING =false
↓
LOOSEDIRECTORYCHECKING =true
MAILNOVIOLATIONS       =true
EMAILREPORTLEVEL       =3
REPORTLEVEL            =3
↓
REPORTLEVEL            =4
MAILMETHOD             =SENDMAIL
SYSLOGREPORTING        =false
MAILPROGRAM            =/usr/sbin/sendmail -oi -t

設定ファイル(テキスト版⇒暗号署名版)を作成
[root@server1 ~]# twadmin -m F -c /etc/tripwire/tw.cfg -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
Please enter your site passphrase:
Wrote configuration file: /etc/tripwire/tw.cfg

セキュリティ確保のため設定ファイル(テキスト版)を削除
[root@server1 ~]# rm -f /etc/tripwire/twcfg.txt

設定ファイル(テキスト版)を復活させる場合は以下のコマンドで復活できる
[root@server1 ~]# twadmin --print-cfgfile > /etc/tripwire/twcfg.txt

■ポリシーファイルの設定

ポリシーファイルの最適化スクリプトを作成

[root@server1 ~]# vi /etc/tripwire/twpolmake.pl
#!/usr/bin/perl
# Tripwire Policy File customize tool
# ----------------------------------------------------------------------
# Copyright (C) 2003 Hiroaki Izumi
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
# ----------------------------------------------------------------------
# Usage:
#    perl twpolmake.pl {Pol file}
# ----------------------------------------------------------------------
#
$POLFILE=$ARGV[0];
open(POL,"$POLFILE") or die "open error: $POLFILE" ;
my($myhost,$thost) ;
my($sharp,$tpath,$cond) ;
my($INRULE) = 0 ;
while (<POL>) {
chomp;
if (($thost) = /^HOSTNAME\s*=\s*(.*)\s*;/) {
$myhost = `hostname` ; chomp($myhost) ;
if ($thost ne $myhost) {
$_="HOSTNAME=\"$myhost\";" ;
}
}
elsif ( /^{/ ) {
$INRULE=1 ;
}
elsif ( /^}/ ) {
$INRULE=0 ;
}
elsif ($INRULE == 1 and ($sharp,$tpath,$cond) = /^(\s*\#?\s*)(\/\S+)\b(\s+->\s+.+)$/) {
$ret = ($sharp =~ s/\#//g) ;
if ($tpath eq '/sbin/e2fsadm' ) {
$cond =~ s/;\s+(tune2fs.*)$/; \#$1/ ;
}
if (! -s $tpath) {
$_ = "$sharp#$tpath$cond" if ($ret == 0) ;
}
else {
$_ = "$sharp$tpath$cond" ;
}
}
print "$_\n" ;
}
close(POL) ;

ポリシーファイルの最適化

[root@server1 ~]# perl /etc/tripwire/twpolmake.pl /etc/tripwire/twpol.txt > /etc/tripwire/twpol.txt.new

ポリシーファイル(暗号署名版)を作成

[root@server1 ~]# twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt.new
Please enter your site passphrase: ← サイトパスフレーズを入力
Wrote policy file: /etc/tripwire/tw.pol

ポリシーファイル(テキスト版)を削除
[root@server1 ~]# rm -f /etc/tripwire/twpol.txt*

ポリシーファイル(テキスト版)を復活させる場合は以下のコマンドで復活できる
[root@server1 ~]# twadmin -m p -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key > /etc/tripwire/twpol.txt

■Tripwireのデータベース作成
ポリシーファイルよりデータベースを作成

[root@server1 ~]# tripwire -m i -s -c /etc/tripwire/tw.cfg
Please enter your local passphrase: ← ローカルパスフレーズを入力

下は/root/backup.tar.bz2のファイルサイズが2Gを超えてしまったため、tripwireがエラーを出してデータベース作成が失敗した時のもの。このような時は、/root/backup.tar.bz2をチェック対象外にすることでエラー回避出来る。
### Error: File seek failed.
### Filename: /root/backup.tar.bz2
### \xe3\x81\x9d\xe3\x81\xae\xe3\x82\x88\xe3\x81\x86\xe3\x81\xaa\xe3\x83\x95\xe3\x82\xa1\xe3\x82\xa4\xe3\x83\xab\xe3\x82\x84\xe3\x83\x87\xe3\x82\xa3\xe3\x83\xac\xe3\x82\xaf\xe3\x83\x88\xe3\x83\xaa\xe3\x81\xaf\xe3\x81\x82\xe3\x82\x8a\xe3\x81\xbe\xe3\x81\x9b\xe3\x82\x93
### Exiting...

ポリシーファイル(テキスト版)を復活
[root@server1 ~]# twadmin -m p -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key > /etc/tripwire/twpol.txt

ポリシーファイル(テキスト版)の編集
[root@server1 ~]# vi /etc/tripwire/twpol.txt
  rulename = "Invariant Directories",
  severity = $(SIG_MED)
)
{
  /                                    -> $(SEC_INVARIANT) (recurse = 0) ;
  /home                                -> $(SEC_INVARIANT) (recurse = 0) ;
  /etc                                 -> $(SEC_INVARIANT) (recurse = 0) ;
!/root/backup.tar.bz2; ← 対象外ファイルを追加
}

ポリシーファイル(暗号署名版)を作成
[root@server1 ~]# twadmin -m P -c /etc/tripwire/tw.cfg -p /etc/tripwire/tw.pol -S /etc/tripwire/site.key /etc/tripwire/twpol.txt
Please enter your site passphrase: ← サイトパスフレーズを入力
Wrote policy file: /etc/tripwire/tw.pol

ポリシーファイル(テキスト版)を削除
[root@server1 ~]# rm -f /etc/tripwire/twpol.txt

ポリシーファイルよりデータベースを作成

[root@server1 ~]# tripwire -m i -s -c /etc/tripwire/tw.cfg
Please enter your local passphrase: ← ローカルパスフレーズを入力
※データベースを作成するには結構時間がかかる

■Tripwireの確認

[root@server1 ~]# tripwire -m c -s -c /etc/tripwire/tw.cfg
Open Source Tripwire(R) 2.4.2.2 Integrity Check Report

Report generated by:          root
Report created on:            2014年12月06日 23時08分26秒
Database last updated on:     Never

===============================================================================
Report Summary:
===============================================================================

Host name:                    server1.yokensaka.com
Host IP address:              114.186.88.44
Host ID:                      None
Policy file used:             /etc/tripwire/tw.pol
Configuration file used:      /etc/tripwire/tw.cfg
Database file used:           /var/lib/tripwire/server1.yokensaka.com.twd
Command line used:            tripwire -m c -s -c /etc/tripwire/tw.cfg

===============================================================================
Rule Summary:
===============================================================================

-------------------------------------------------------------------------------
  Section: Unix File System
-------------------------------------------------------------------------------

  Rule Name                       Severity Level    Added    Removed  Modified
  ---------                       --------------    -----    -------  --------
  User binaries                   66                0        0        0
  Tripwire Binaries               100               0        0        0
  Libraries                       66                0        0        0
  Operating System Utilities      100               0        0        0
  File System and Disk Administraton Programs
                                  100               0        0        0
  Kernel Administration Programs  100               0        0        0
  Networking Programs             100               0        0        0
  System Administration Programs  100               0        0        0
  Hardware and Device Control Programs
                                  100               0        0        0
  System Information Programs     100               0        0        0
  Application Information Programs
                                  100               0        0        0
  (/sbin/rtmon)
  Critical Utility Sym-Links      100               0        0        0
  Shell Binaries                  100               0        0        0
  Critical system boot files      100               0        0        0
* Tripwire Data Files             100               1        0        0
  System boot changes             100               0        0        0
  OS executables and libraries    100               0        0        0
  Critical configuration files    100               0        0        0
  Security Control                100               0        0        0
  Login Scripts                   100               0        0        0
  Root config files               100               0        0        0
  Invariant Directories           66                0        0        0
  Temporary directories           33                0        0        0
  Critical devices                100               0        0        0
  (/proc/kcore)

Total objects scanned:  52987
Total violations found:  1

===============================================================================
Object Summary:
===============================================================================

-------------------------------------------------------------------------------
# Section: Unix File System
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
Rule Name: Tripwire Data Files (/var/lib/tripwire)
Severity Level: 100
-------------------------------------------------------------------------------

Added:
"/var/lib/tripwire/server1.yokensaka.com.twd" ← 今回追加されたTripwireのデータベースなので問題無し

===============================================================================
Error Report:
===============================================================================

No Errors

-------------------------------------------------------------------------------
*** End of report ***

Open Source Tripwire 2.4 Portions copyright 2000 Tripwire, Inc. Tripwire is a registered
trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY;
for details use --version. This is free software which may be redistributed
or modified only under certain conditions; see COPYING for details.
All rights reserved.

■Tripwireの定期自動実行設定

インストール時に作成されてたTripwireの定期実行ファイルを編集

[root@server1 ~]# vi /etc/cron.daily/tripwire-check
#!/bin/sh
# デフォルトの部分をコメントアウト
#HOST_NAME=`uname -n`
#if [ ! -e /var/lib/tripwire/${HOST_NAME}.twd ] ; then
#        echo "****    Error: Tripwire database for ${HOST_NAME} not found.    ****"
#        echo "**** Run "/etc/tripwire/twinstall.sh" and/or "tripwire --init". ****"
#else
#        test -f /etc/tripwire/tw.cfg &&  /usr/sbin/tripwire --check
#fi
# パスフレーズ設定
LOCALPASS=xxxxxxxx # ローカルパスフレーズ
SITEPASS=xxxxxxxx # サイトパスフレーズ
cd /etc/tripwire
# Tripwireチェック実行
tripwire -m c -s -c tw.cfg|mail -s "Tripwire(R) Integrity Check Report in `hostname`" root
# ポリシーファイル最新化
twadmin -m p -c tw.cfg -p tw.pol -S site.key > twpol.txt
perl twpolmake.pl twpol.txt > twpol.txt.new
twadmin -m P -c tw.cfg -p tw.pol -S site.key -Q $SITEPASS twpol.txt.new > /dev/null
rm -f twpol.txt* *.bak
# データベース更新
rm -f /usr/local/tripwire/lib/tripwire/*.twd*
tripwire -m i -s -c tw.cfg -P $LOCALPASS

パーミッション変更
[root@server1 ~]# chmod 700 /etc/cron.daily/tripwire-check

CentOS 7 ImageMagickインストール

画像処理(ImageMagick)

■ ImageMagickのインストール

[root@server1 ~]# yum -y install ImageMagick
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * centosplus: mirrors.btte.net
 * epel: ftp.cuhk.edu.hk
 * extras: ftp.riken.jp
 * rpmforge: ftp.kddilabs.jp
 * updates: mirrors.aliyun.com
45 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ImageMagick.x86_64 0:6.7.8.9-10.el7 を インストール
--> 依存性の処理をしています: libwmflite-0.2.so.7()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> 依存性の処理をしています: libImath.so.6()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> 依存性の処理をしています: libIlmThread.so.6()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> 依存性の処理をしています: libIlmImf.so.7()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> 依存性の処理をしています: libIexMath.so.6()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> 依存性の処理をしています: libIex.so.6()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> 依存性の処理をしています: libHalf.so.6()(64bit) のパッケージ: ImageMagick-6.7.8.9-10.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ OpenEXR-libs.x86_64 0:1.7.1-7.el7 を インストール
---> パッケージ ilmbase.x86_64 0:1.0.3-7.el7 を インストール
---> パッケージ libwmf-lite.x86_64 0:0.2.8.4-39.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                   アーキテクチャー    バージョン                   リポジトリー       容量
====================================================================================================
インストール中:
 ImageMagick               x86_64              6.7.8.9-10.el7               base              2.1 M
依存性関連でのインストールをします:
 OpenEXR-libs              x86_64              1.7.1-7.el7                  base              217 k
 ilmbase                   x86_64              1.0.3-7.el7                  base              100 k
 libwmf-lite               x86_64              0.2.8.4-39.el7               base               66 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+3 個の依存関係のパッケージ)

総ダウンロード容量: 2.5 M
インストール容量: 9.1 M
Downloading packages:
(1/4): ilmbase-1.0.3-7.el7.x86_64.rpm                                        | 100 kB  00:00:00
(2/4): OpenEXR-libs-1.7.1-7.el7.x86_64.rpm                                   | 217 kB  00:00:00
(3/4): libwmf-lite-0.2.8.4-39.el7.x86_64.rpm                                 |  66 kB  00:00:00
(4/4): ImageMagick-6.7.8.9-10.el7.x86_64.rpm                                 | 2.1 MB  00:00:00
----------------------------------------------------------------------------------------------------
合計                                                                3.6 MB/s | 2.5 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : ilmbase-1.0.3-7.el7.x86_64                                          1/4
  インストール中          : OpenEXR-libs-1.7.1-7.el7.x86_64                                     2/4
  インストール中          : libwmf-lite-0.2.8.4-39.el7.x86_64                                   3/4
  インストール中          : ImageMagick-6.7.8.9-10.el7.x86_64                                   4/4
  検証中                  : ilmbase-1.0.3-7.el7.x86_64                                          1/4
  検証中                  : ImageMagick-6.7.8.9-10.el7.x86_64                                   2/4
  検証中                  : libwmf-lite-0.2.8.4-39.el7.x86_64                                   3/4
  検証中                  : OpenEXR-libs-1.7.1-7.el7.x86_64                                     4/4

インストール:
  ImageMagick.x86_64 0:6.7.8.9-10.el7

依存性関連をインストールしました:
  OpenEXR-libs.x86_64 0:1.7.1-7.el7                    ilmbase.x86_64 0:1.0.3-7.el7
  libwmf-lite.x86_64 0:0.2.8.4-39.el7

完了しました!

■ PerlMagickのインストール

[root@server1 ~]# yum -y install ImageMagick-perl
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * centosplus: mirrors.btte.net
 * epel: ftp.cuhk.edu.hk
 * extras: ftp.riken.jp
 * rpmforge: ftp.kddilabs.jp
 * updates: mirrors.aliyun.com
45 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ImageMagick-perl.x86_64 0:6.7.8.9-10.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package                      アーキテクチャー   バージョン                  リポジトリー      容量
====================================================================================================
インストール中:
 ImageMagick-perl             x86_64             6.7.8.9-10.el7              base             147 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 147 k
インストール容量: 412 k
Downloading packages:
ImageMagick-perl-6.7.8.9-10.el7.x86_64.rpm                                   | 147 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : ImageMagick-perl-6.7.8.9-10.el7.x86_64                              1/1
  検証中                  : ImageMagick-perl-6.7.8.9-10.el7.x86_64                              1/1

インストール:
  ImageMagick-perl.x86_64 0:6.7.8.9-10.el7

完了しました!

■サムネイルを作成するのに必要なphp-gdをインストール

[root@server1 ~]# yum -y install php-gd
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * centosplus: mirrors.btte.net
 * epel: ftp.cuhk.edu.hk
 * extras: ftp.riken.jp
 * rpmforge: ftp.kddilabs.jp
 * updates: ftp.riken.jp
45 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ php-gd.x86_64 0:5.4.16-21.el7 を インストール
--> 依存性の処理をしています: libt1.so.5()(64bit) のパッケージ: php-gd-5.4.16-21.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ t1lib.x86_64 0:5.1.2-14.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package               アーキテクチャー      バージョン                   リポジトリー         容量
====================================================================================================
インストール中:
 php-gd                x86_64                5.4.16-21.el7                base                122 k
依存性関連でのインストールをします:
 t1lib                 x86_64                5.1.2-14.el7                 base                166 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ (+1 個の依存関係のパッケージ)

総ダウンロード容量: 288 k
インストール容量: 734 k
Downloading packages:
(1/2): php-gd-5.4.16-21.el7.x86_64.rpm                                       | 122 kB  00:00:00
(2/2): t1lib-5.1.2-14.el7.x86_64.rpm                                         | 166 kB  00:00:00
----------------------------------------------------------------------------------------------------
合計                                                                620 kB/s | 288 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : t1lib-5.1.2-14.el7.x86_64                                           1/2
  インストール中          : php-gd-5.4.16-21.el7.x86_64                                         2/2
  検証中                  : t1lib-5.1.2-14.el7.x86_64                                           1/2
  検証中                  : php-gd-5.4.16-21.el7.x86_64                                         2/2

インストール:
  php-gd.x86_64 0:5.4.16-21.el7

依存性関連をインストールしました:
  t1lib.x86_64 0:5.1.2-14.el7

完了しました!

■httpd を再起動

[root@server1 ~]# systemctl restart httpd

CentOS 7 sambaインストール

ファイルサーバ(samba)

■ sambaをyumでインストール

[root@server1 ~]# yum install samba
読み込んだプラグイン:fastestmirror, langpacks, priorities
Loading mirror speeds from cached hostfile
 * base: ftp.riken.jp
 * centosplus: mirrors.btte.net
 * epel: kartolo.sby.datautama.net.id
 * extras: ftp.riken.jp
 * rpmforge: ftp.kddilabs.jp
 * updates: mirrors.btte.net
45 packages excluded due to repository priority protections
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ samba.x86_64 0:4.1.1-35.el7_0 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

====================================================================================================
 Package             アーキテクチャー     バージョン                    リポジトリー           容量
====================================================================================================
インストール中:
 samba               x86_64               4.1.1-35.el7_0                updates               536 k

トランザクションの要約
====================================================================================================
インストール  1 パッケージ

総ダウンロード容量: 536 k
インストール容量: 1.6 M
Is this ok [y/d/N]: y
Downloading packages:
samba-4.1.1-35.el7_0.x86_64.rpm                                              | 536 kB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : samba-4.1.1-35.el7_0.x86_64                                         1/1
  検証中                  : samba-4.1.1-35.el7_0.x86_64                                         1/1

インストール:
  samba.x86_64 0:4.1.1-35.el7_0

完了しました!

既存のユーザをSambaサーバーアクセス用ユーザとする場合

[root@server1 ~]# pdbedit -a higo
new password: ← パスワード入力
retype new password: ← パスワード再入力
Unix username:        higo
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-3123654516-2731996513-2070615243-1003
Primary Group SID:    S-1-5-21-3123654516-2731996513-2070615243-513
Full Name:            higo
Home Directory:       \\server2\higo
HomeDir Drive:
Logon Script:
Profile Path:         \\server2\higo\profile
Domain:               SERVER2
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          木, 07  2月 2036 00:06:39 JST
Kickoff time:         木, 07  2月 2036 00:06:39 JST
Password last set:    金, 18  7月 2014 08:13:26 JST
Password can change:  金, 18  7月 2014 08:13:26 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

ユーザーアカウントを表示

[root@server1 ~]# pdbedit -L
higo:1000:higo

ユーザーアカウントの削除

[root@server1 ~]# pdbedit -x higo

■共有ディレクトリ作成

[root@server1 ~]# mkdir /home/share
[root@server1 ~]# chmod 777 /home/share ← 権限変更
[root@server1 ~]# chown nobody:nobody /home/share ← 共有ディレクトリ所有者変更

■ samba設定ファイル変更

[root@server1 ~]# vi /etc/samba/smb.conf
[global]
日本語文字コード変更(追記)
        unix charset = UTF-8
        dos charset = CP932

ワークグループを環境に合わせて変更
        workgroup = WORKGROUP

ネットワーク内のみからアクセス許可
        hosts allow = 192.168.1. 127.

ユーザー認証なしの設定に変更
        security = user
        passdb backend = tdbsam
        guest account = nobody
        map to guest = Bad User

共有フォルダ(ゴミ箱機能付きの)「share」 セクションの作成(最終行に追加)
[share]
   path = /home/share
   writable = yes
   guest ok = yes
   guest only = yes
   create mode = 0777
   directory mode = 0777
   share modes = yes
   vfs objects = recycle
   recycle:repository = .recycle
   recycle:keeptree = no
   recycle:versions = yes
   recycle:touch = no
   recycle:maxsize = 0
#Accessをファイルサーバで使うと、終了するたびに何故かごみ箱にファイルが作成される。
#なので、Accessのファイルはごみ箱にはファイルを作らないようにする。
   recycle:exclude = *.tmp ~$* *.mdb *.ldb *.accdb *.laccdb

■ sambaの起動

[root@server1 ~]# systemctl start smb
[root@server1 ~]# systemctl start nmb

■ 自動起動設定

[root@server1 ~]# systemctl enable smb
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@server1 ~]# systemctl enable nmb
ln -s '/usr/lib/systemd/system/nmb.service' '/etc/systemd/system/multi-user.target.wants/nmb.service'

■ Samba確認
Windowsクライアントで「スタート」→「ファイル名を指定して実行」→「名前」に”\\SERVER1\share”または”\\192.168.1.4\share”を入力して「OK」ボタンをクリック。