CentOS 6.6 から 6.9 へ yum upgrade
- 2018 6/9
CentOS のバージョンや 32bit, 64bit などを確認するコマンドをご紹介します。
CentOS のバージョンを確認するコマンド
cat /etc/redhat-release CentOS release 6.4 (Final) |
アーキテクチャ(32bit, 64bit)を確認するコマンド
arch # 64bitの場合 X86_64 # 32bitの場合 i686 |
CentOS 6.3 に ImageMagick を yum でインストールしました。
yum -y install libjpeg-devel libpng-devel yum -y install ImageMagick ImageMagick-devel |
identify と convert のバージョンとPathを確認して、インストールされたことを確認します。
# identify -version Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC # which identify /usr/bin/identify |
# convert -version Version: ImageMagick 6.5.4-7 2012-05-07 Q16 OpenMP http://www.imagemagick.org Copyright: Copyright (C) 1999-2009 ImageMagick Studio LLC # which convert /usr/bin/convert |
CentOS 5 系とかだとソースファイルからインストールする方が良いみたいです。
CentOS で、文字コードを ja_JP.UTF-8 に設定する方法をメモ。
# cat /etc/sysconfig/i18n LANG="C" SYSFONT="latarcyrheb-sun16" # vim /etc/sysconfig/i18n # cat /etc/sysconfig/i18n LANG="ja_JP.UTF-8" |
まず、前提としてさくらのVPSにインストールされている CentOS は 64bit 版みたいです。
(最終更新日:2013/09/15)
ユーザ名 bakorer の部分は、自分のユーザ名に置き換えてください。
■ root 権限では危ないので管理者ユーザーを作成する
useradd -G wheel bakorer passwd bakorer |
■ wheel グループに所属しているユーザしか su できないように変更する
vi /etc/pam.d/su #auth required pam_wheel.so use_uid ↓(変更) auth required pam_wheel.so use_uid |
■ wheel グループに所属しているユーザは sudo できるように変更する
visudo #%wheel ALL=(ALL) ALL ↓(変更) %wheel ALL=(ALL) ALL |
■ .ssh ディレクトリの作成
mkdir /home/bakorer/.ssh |
■ クライアント側で公開鍵を作成し、サーバに公開鍵を転送
ssh-keygen -t rsa scp .ssh/id_rsa.pub bakorer@host:/home/bakorer/.ssh mv /home/bakorer/.ssh/id_rsa.pub /home/bakorer/.ssh/authorized_keys |
もしくは、リモートコンソール経由でコピペして作成します。
vi /home/bakorer/.ssh/authorized_keys ssh-rsa xxxx (貼り付ける) |
■ 公開鍵ファイルのアクセス権限と所有者を変更
chmod 700 /home/bakorer/.ssh/ chmod 600 /home/bakorer/.ssh/* chown -R bakorer. /home/bakorer/.ssh/ |
■ SSH の設定変更
sed コマンドで置換します。
sed -i 's/^#Port 22/Port 20022/' /etc/ssh/sshd_config sed -i 's/^#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config |
手動で書き換える場合は、下記を参考にして下さい。
vim /etc/ssh/sshd_config Port 20022 PermitRootLogin no PasswordAuthentication no |
service sshd restart |
Port番号が変更できなくてハマったけど、編集するファイルを sshd_config ではなくて ssh_config を編集していたのが原因でした…
・参考:さくらのVPS を使いはじめる 2 – sudo と SSH ポート変更 | アカベコマイリ
■ 公開鍵認証で SSH 接続する
ssh -p 20022 -i /Users/bakorer/.ssh/id_rsa bakorer@www12345u.sakura.ne.jp |
・参考:sshコマンド – 管理者必見! ネットワーク・コマンド集:ITpro
■ ファイアーウォールの設定をします
・コンテンツの転送にはSFTPを使うので、FTPポートは空けない
$ vim /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20022 -j ACCEPT # HTTP -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT # MySQL -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT |
設定後、ファイアーウォール再起動します。
service iptables restart |
■ リポジトリの変更
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt |
# vim /etc/yum.repos.d/remi.repo [remi] enabled=1 |
■ yum のアップグレード
# yum -y upgrade |
ホスト名が既に決まっている場合は、この辺で設定しておきましょう。
■ Apache
■ Nginx
■ MySQL
■ PHP
■ 基本設定
・「さくらのVPS」を使ってみる – さくらインターネット創業日記
・CentOSをサーバーとして活用するための基本的な設定 – さくらインターネット創業日記
・ウェブ開発者のための、1時間でできるLAMP環境構築術(CentOS編) – さくらインターネット創業日記
・はじめてのさくら VPS + CentOS の初期設定からチューニングなどの作業まとめ | ウェブル
・1,000円を切る低価格で登場、「さくらのVPS」をチェック――サーバー構築編 – SourceForge.JP Magazine : オープンソースの話題満載
・VPSの初期設定とLAMP環境を構築する方法。 – とりあえず9JP
・【さくらのVPS】初期設定をしてみた | Untitled Documents.
■ チューニングなど
・さくらVPSで一日6万PVを処理するためにしたこと – 新卒インフラエンジニア2年目
■ 他社のVPSとの比較記事
CentOS5.7 に最新版の Vim をインストールしました。(Vim version 7.3.364)
こちらの記事の通りでサクッとインストールできました。
・参考:CentOS 5.5 に最新版の Vim をインストール – Vive Memor Mortis
■ 手順
1. yum で入れた Vim をアンインストール
2. mercurialを使って最新版のソースを取得
3. 取得したソースをコンパイルしてインストール
■ シェルスクリプト
#!/bin/sh cd /usr/local/src ## Uninstall vim yum remove -y vim-enhanced ## Install mercurial yum install -y gcc python python-devel python-setuptools easy_install mercurial ## Croning latest virsion of vim hg clone https://vim.googlecode.com/hg/ vim ## Install Vim cd vim yum install -y ncurses ncurses-devel ./configure --enable-multibyte --enable-xim --enable-fontset --disable-selinux --with-features=huge make && make install exit |
■ Vim のPathを通す
# vi ~/.bashrc |
PATH="$PATH":/usr/local/bin/vim |
設定内容をすぐに反映する
# source ~/.bashrc |
以上です。
CentOS 5.7 に PHP5.3.8 をソースコードからインストールしたので、手順をメモ。
まず、ソースコードからPHPをインストールする前に、CentOSにデフォルトでインストールされているPHPをアンインストールします。
# php -v PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:46) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies # yum remove php-* # php -v -bash: /usr/bin/php: そのようなファイルやディレクトリはありません |
・DLサイト:PHP: Downloads
# cd /usr/local/src # wget http://jp.php.net/get/php-5.3.8.tar.gz/from/this/mirror # tar zxvf php-5.3.8.tar.gz # cd php-5.3.8 |
./configure \ --enable-mbstring \ --with-apxs2=/usr/local/apache2/bin/apxs \ --with-mysql=/usr/local/mysql \ --enable-pdo \ --with-pdo-mysql=/usr/local/mysql \ --enable-xml |
■ エラー
configure: error: xml2-config not found. Please check your libxml2 installation. |
libxml2(本体)と libxml2-devel(開発ツール)をインストールすると解決しました。
yum install -y libxml2 yum install -y libxml2-devel |
PHPが正常にインストールされていることを確認します。
# /usr/local/bin/php -v PHP 5.3.8 (cli) (built: Nov 2 2011 20:24:31) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies |
# vi ~/.bashrc PATH="$PATH":/usr/local/bin/php |
# source ~/.bashrc |
# php -v PHP 5.3.8 (cli) (built: Nov 2 2011 20:24:31) Copyright (c) 1997-2011 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies |
・ITmedia エンタープライズ : Linux Tips「パスを追加したい~.bashrc編~」
■ php.ini のコピー
# cp -p /usr/local/src/php-5.3.8/php.ini-development /usr/local/lib/php.ini |
※コピー先は /usr/local/lib/php/php.ini ではなく、/usr/local/lib/php.ini なので注意
■ php.ini の編集
# vi /usr/local/lib/php/php.ini |
[PHP] output_handler = mb_output_handler expose_php = On default_charset = "UTF-8" [Date] date.timezone = Asia/Tokyo [mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = auto mbstring.http_output = UTF-8 mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; |
【参考】
・PHP: INIファイル の扱いに関する変更 – Manual
・CentOS 再構築記録13th php.ini 設定を見直す(´・ω・) ス|WEB系技術電脳日記
・PHPの日付関数でWarningエラー – ema725の日記
・自宅サーバー(Windows+Apache)へのPHPインストール
まず、httpd.conf の
# vi /usr/local/apache2/conf/httpd.conf |
<IfModule mime_module> # ... # php conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps </IfModule> |
次に、DirectoryIndex の行に index.php を追記します。
<IfModule dir_module> DirectoryIndex index.html index.php </IfModule> |
httpd.conf の編集後、Apacheを再起動させます。
# service httpd restart |
Apacheのドキュメントルートにテスト用のPHPファイルを作成して、phpinfo メソッドを呼び出すだけの内容を入力して保存します。
# vi /usr/local/apache2/htdocs/phpinfo.php |
<?php phpinfo(); ?> |
ブラウザから確認するために、ifconfigコマンドで IPアドレスを確認します。
# ifconfig eth0 Link encap:Ethernet HWaddr D2:9B:E2:9A:9D:14 inet addr:192.168.16.130 Bcast:192.168.128.255 Mask:255.255.255.0 ... |
ブラウザから http://192.168.16.130/phpinfo.php にアクセスして、Apache上でPHPが動作するか確認します。
「PHP Version 5.3.8」という見出しの画面が表示されればOKです。
Apache の httpd.conf を編集して、サーバにアクセス時のルートを var/www に変更します。
# vi /usr/local/apache2/conf/httpd.conf |
DocumentRoot "/usr/local/apache2/htdocs" ↓(変更する) DocumentRoot "/var/www/html" |
その他、”/usr/local/apache2/” を “/var/www/” に変更します。
以上です。
・古い php のアンインストールと php 5.3 のインストール – Debian GNU/Linux 3.1 on PowerMac G4
CentOS 5.7 に Apache2.2.21 をソースコードからインストールしました。
インストール手順をざっとご紹介します。(随時、修正予定)
CentOSにデフォルトでインストールされているRPM版のapacheを削除します。
# httpd -v Server version: Apache/2.2.3 # rpm -e --allmatches --nodeps httpd # httpd -v -bash: /usr/sbin/httpd: そのようなファイルやディレクトリはありません |
Apacheのソースコードをダウンロードして、展開します。
ソースコードは下記のサイトから Stable 版の Unix Source を wget で取得します。
・DL:Download – The Apache HTTP Server Project
$ su - # cd /usr/local/src/ # wget http://www.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.2.21.tar.gz # tar zxvf httpd-2.2.21.tar.gz # cd httpd-2.2.21 |
オプションをいくつか付けてconfigureします。
# cd httpd-2.2.21 # ./configure --prefix=/usr/local/apache2/ \ --enable-so \ --enable-rewrite \ --enable-ssl=/usr/local/openssl |
→ opensslが入らないとエラーが出るので、とりあえず、
# ./configure --prefix=/usr/local/apache2/ \ --enable-so \ --enable-rewrite |
そして、makeしてインストール
# make # make install |
Apacheがちゃんとインストールされたか確認します。
# /usr/local/apache2/bin/httpd -v Server version: Apache/2.2.21 (Unix) Server built: Nov 2 2011 19:14:14 |
# groupadd apache # useradd -g apache -d /var/empty/ -s /sbin/nologin apache |
# vi /usr/local/apache2/conf/httpd.conf |
User apache Group apache |
# cp /usr/local/src/httpd-2.2.21/build/rpm/httpd.init /etc/rc.d/init.d/httpd # chmod 755 /etc/rc.d/init.d/httpd |
apache の設定ファイルの該当部分を編集します。
# vi /etc/rc.d/init.d/httpd httpd=${HTTPD-/usr/local/apache2/bin/httpd} pidfile=${PIDFILE-/usr/local/apache2/logs/httpd.pid} |
# check for 1.3 configuration check13 () { CONFFILE=/usr/local/apache2/conf/httpd.conf |
Apacheの起動を確認します。
# service httpd start Starting httpd : [OK] |
正常起動を確認しました。
ifconfigコマンドでIPアドレスを確認する。(IPアドレスは環境によって異なります)
# ifconfig inet addr:192.168.16.130 |
ローカルPCのブラウザから、http://192.168.16.130/ にアクセスしてApacheが正常に動いているか確認します。
無事にブラウザが表示されたら完了です。
Apacheの自動起動を有効にします。
自動起動を有効にすると、CentOSの起動時にApacheも自動で起動します。
# chkconfig --add httpd # chkconfig httpd on # chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
httpd が listen する 80 番ポート(デフォルトの場合)を開放する。
# vi /etc/sysconfig/iptables -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT |
ファイアーウォールを再起動させます。
# service iptables restart ファイアウォールルールを適用中: [ OK ] チェインポリシーを ACCEPT に設定中filter [ OK ] iptables モジュールを取り外し中 [ OK ] iptables ファイアウォールルールを適用中: [ OK ] |
# service iptables start |
# cd /usr/local/src # wget -c http://www.openssl.org/source/openssl-1.0.0d.tar.gz # tar zxvf openssl-1.0.0d.tar.gz # cd openssl-1.0.0d.tar.gz # ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl -fPIC |
# make # make install |
【参考】
・VMware PlayerにCentOS導入。練習用Webサーバーを構築4
・apache2.2.15をCentOSにソースからインストール[Linux] | QUALL – blog