ページ「OpenSSH 6.5p1(RPM)」と「Subversion 1.12.0」の間の差分

提供:あべたけの覚書
(ページ間の差分)
ナビゲーションに移動 検索に移動
(ページの作成:「※RPMも参照の事。 <br/> <br/> ==準備== <syntaxhighlight lang="bash"> [root@XXXXX ~]# yum install openssl-devel [root@XXXXX ~]# yum install tcp_wrappers-devel [root@XXXXX ~]# yum install pam-devel </syntaxhighlight > <br> ==削除== <syntaxhighlight lang="bash"> [root@XXXXX ~]# yum -y remove openssh </syntaxhighlight > <br> ==RPM の作成・インストール== <ol> <li>'''ソースの取得'''<br/> <syntaxhighlight lang="bash"> [root @…」)
 
(ページの作成:「==準備== *SQLiteのCソースコード <ol> <li>'''ソースの取得''' <syntaxhighlight lang="bash"> [root@XXXXX ~]# wget -P /usr/local/src https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip </syntaxhighlight> </li> <li>'''ソースの解凍''' <syntaxhighlight lang="bash"> [root@XXXXX ~]# cd /usr/local/src [root@XXXXX ~]# unzip sqlite-amalgamation-3280000.zip </syntaxhighlight> 解凍されたディレクトリは後から使用するので解凍だ…」)
 
1行目: 1行目:
※[[CentOS_RPM|RPM]]も参照の事。
<br/>
<br/>
==準備==
==準備==
<syntaxhighlight lang="bash">
*SQLiteのCソースコード
[root@XXXXX ~]# yum install openssl-devel
[root@XXXXX ~]# yum install tcp_wrappers-devel
[root@XXXXX ~]# yum install pam-devel
</syntaxhighlight >
<br>
 
==削除==
<syntaxhighlight lang="bash">
[root@XXXXX ~]# yum -y remove openssh
</syntaxhighlight >
<br>
 
==RPM の作成・インストール==
<ol>
<ol>
<li>'''ソースの取得'''<br/>
<li>'''ソースの取得'''
<syntaxhighlight lang="bash">
[root    @XXXXX ~  ]# su - rpmdevel
[rpmdevel@XXXXX ~  ]$ cd ~/src
[rpmdevel@XXXXX src]$ wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-6.1p1.tar.gz
[rpmdevel@XXXXX src]$ tar zxvf openssh-6.1p1.tar.gz
</syntaxhighlight >
<br>
</li>
<li>'''ソースの解凍'''<br/>
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX ~  ]$ cd ~/src
[rpmdevel@XXXXX src]$ tar zxvf openssh-6.1p1.tar.gz
</syntaxhighlight >
<br>
</li>
<li>'''spec編集'''<br/>
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX src]$ vi openssh-6.1p1/contrib/redhat/openssh.spec
 
%define no_x11_askpass 0
%define no_x11_askpass 1        ← (変更)x11_askpassの無効化
 
%define no_gnome_askpass 0
%define no_gnome_askpass 1      ← (変更)gnome_askpassの無効化
 
%configure \
--without-zlib-version-check \  ← (追加)zlibのバージョンチェック無効化
</syntaxhighlight >
<br>
</li>
<li>'''ビルド用に再圧縮'''<br/>
<ol type="i">
<li>openssh-6.1p1/contrib/ 以下の、redhat以外のディレクトリを削除<br/>
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX ~     ]$ cd ~/src/openssh-6.1p1/contrib
[root@XXXXX ~]# wget -P /usr/local/src https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip
[rpmdevel@XXXXX contrib]$ rm -rf aix/
</syntaxhighlight>
[rpmdevel@XXXXX contrib]$ rm -rf hpux/
[rpmdevel@XXXXX contrib]$ rm -rf caldera/
[rpmdevel@XXXXX contrib]$ rm -rf suse/
[rpmdevel@XXXXX contrib]$ rm -rf cygwin/
[rpmdevel@XXXXX contrib]$ rm -rf solaris/
</syntaxhighlight >
<br>
</li>
</li>
<li>再圧縮<br/>
<li>'''ソースの解凍'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX ~ ]$ cd ~/src
[root@XXXXX ~]# cd /usr/local/src
[rpmdevel@XXXXX src]$ tar zcvf openssh-6.1p1.tar.gz openssh-6.1p1/
[root@XXXXX ~]# unzip sqlite-amalgamation-3280000.zip
</syntaxhighlight >
</syntaxhighlight>
<br>
解凍されたディレクトリは後から使用するので解凍だけしておく。
</li>
</li>
</ol>
</ol>
<li>'''RPM作成'''<br/>
==インストール==
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX ~  ]$ cd ~/src
[rpmdevel@XXXXX src]$ rpmbuild -tb --clean openssh-6.1p1.tar.gz
</syntaxhighlight >
<br>
</li>
<li>'''インストール'''<br/>
<syntaxhighlight lang="bash">
[rpmdevel@XXXXX ~  ]$ cd /home/rpmdevel/rpm/RPMS/i686
[rpmdevel@XXXXX i686]$ sudo rpm -Uvh openssh-6.1p1-1.i686.rpm
[rpmdevel@XXXXX i686]$ sudo rpm -Uvh openssh-server-6.1p1-1.i686.rpm
[rpmdevel@XXXXX i686]$ sudo rpm -Uvh openssh-clients-6.1p1-1.i686.rpm
</syntaxhighlight >
<br>
</li>
<li>'''起動テスト'''<br/>
<syntaxhighlight lang="bash">
[root@XXXXX ~]# /etc/rc.d/init.d/sshd start
Starting sshd:          [ OK ]
</syntaxhighlight >
<br>
</li>
<li>'''自動起動設定'''<br/>
<syntaxhighlight lang="bash">
[root@XXXXX ~]# chkconfig sshd on
</syntaxhighlight >
<br>
</li>
</ol>
 
==設定==
<ol>
<li>'''sshd_confの設定'''<br/>
<syntaxhighlight lang="bash">
[root@XXXXX ~]# vi /usr/local/ssh/etc/sshd_config
 
# Port 22
Port 22
 
# SyslogFacility AUTH
SyslogFacility AUTH
 
# PermitRootLogin yes
PermitRootLogin no                ← rootでのログインを禁止
 
# PasswordAuthentication yes
PasswordAuthentication no        ← パスワードでのログインを禁止(鍵方式によるログインのみ許可)
 
# PermitEmptyPasswords no
PermitEmptyPasswords no          ← パスワードなしでのログインを禁止
</syntaxhighlight >
<br>
</li>
<li>'''起動スクリプトのコピー'''<br/>
ソースの中にある起動スクリプトをコピーする
<syntaxhighlight lang="bash">
[root@XXXXX ~]# cp /usr/local/src/openssh-6.1p1/contrib/redhat/sshd.init /etc/rc.d/init.d/sshd
</syntaxhighlight >
<br>
</li>
<li>'''起動スクリプトの編集'''<br/>
([[OpenSSH 5.9p1のデフォルト起動スクリプト]])
<syntaxhighlight lang="bash">
[root@XXXXX ~]# vi /etc/rc.d/init.d/sshd
 
SSHD=/usr/sbin/sshd
SSHD=/usr/local/ssh/sbin/sshd
</syntaxhighlight >
start()の中
<syntaxhighlight lang="bash">
/usr/bin/ssh-keygen -A
/usr/local/ssh/bin/ssh-keygen -A
</syntaxhighlight >
<br>
</li>
<li>'''起動スクリプトの登録'''<br/>
<syntaxhighlight lang="bash">
[root@XXXXX ~]# chkconfig --add sshd
[root@XXXXX ~]# chkconfig sshd on
[root@XXXXX ~]# chkconfig --list sshd
sshd            0:off  1:off  2:off  3:on    4:on    5:on    6:off
</syntaxhighlight >
<br>
</li>
</ol>
 
==鍵の作成==
<ol>
<ol>
<li>'''一般ユーザーで作成する'''<br/>
<li>'''ソースの取得'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[root@XXXXX ~]# su - hoge
[root@XXXXX ~]# wget -P /usr/local/src http://ftp.riken.jp/net/apache/subversion/subversion-1.12.0.tar.gz
[hoge@XXXXX ~]$ /usr/local/ssh/bin/ssh-keygen -t rsa                  ← SSH2で公開鍵・秘密鍵を作成
</syntaxhighlight>
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa): ← 鍵のファイル名を入力(空EnterでOK)
Created directory '/home/hoge/.ssh'
Enter passphrase (empty for no passphrase):                  ← パスフレーズの入力
Enter same passphrase again:                                ← パスフレーズの再入力
Your identification has been saved in /home/hoge/.ssh/id_rsa.
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.
The key fingerprint is:
~鍵情報が表示される~
</syntaxhighlight >
<br>
</li>
</li>
<li>'''作成された鍵の確認'''<br/>
<li>'''ソースの解凍'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[hoge@XXXXX ~]$ cd .ssh
[root@XXXXX ~]# cd /usr/local/src
[hoge@XXXXX ~]$ ls -la
[root@XXXXX ~]# tar zxvf subversion-1.12.0.tar.gz
合計 16
</syntaxhighlight>
drwx------  2 XXXXX XXXXX 4096  3月  8 21:22 .
drwx------  16 XXXXX XXXXX 4096  3月  8 20:33 ..
-rw-------  1 XXXXX XXXXX  951  3月  8 21:22 id_rsa      ← 秘密鍵
-rw-r--r--  1 XXXXX XXXXX  241  3月  8 21:22 id_rsa.pub  ← 公開鍵
</syntaxhighlight >
<br>
</li>
</li>
<li>'''公開鍵の名前の変更'''<br/>
<li>'''SQLiteのソースを移動'''
<ul>
<li>authorized_keysが既存の場合
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[hoge@XXXXX ~]$ cd ~/.ssh
[root@XXXXX ~]# cd /usr/local/src
[hoge@XXXXX ~]$ cat id_rsa.pub >> authorized_keys
[root@XXXXX ~]# mv sqlite-amalgamation-3280000 subversion-1.12.0/sqlite-amalgamation
[hoge@XXXXX ~]$ rm -f ~/.ssh/id_rsa.pub                                ← 元の鍵を削除
</syntaxhighlight>
</syntaxhighlight >
準備で取得・解凍しておいたSQLiteのCソースコードをsubversionのソースディレクトリに移動する。
</li>
</li>
<li>authorized_keysがない場合
<li>'''コンパイル設定'''<br>
([[Subversion 1.12.0のconfigureヘルプ|configureのヘルプ]])
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[hoge@XXXXX ~]$ cd ~/.ssh
[root@XXXXX ~]# cd /usr/local/src/subversion-1.12.0
[hoge@XXXXX ~]$ mv id_rsa.pub authorized_keys
[root@XXXXX ~]./configure \
</syntaxhighlight >
> --prefix=/usr/subversion-1.12.0 \
</li>
> --without-berkeley-db \
</ul>
> --with-apr=/usr/bin/apr-1-config \
<br>
> --with-apr-util=/usr/bin/apu-1-config \
> --with-apxs=/usr/bin/apxs \
> --with-lz4=internal \
> --with-utf8proc=internal
</syntaxhighlight>
(※httpdはRPMでインストール。)
</li>
</li>
<li>'''公開鍵の権限の変更'''<br/>
<li>'''インストール'''
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[root@XXXXX ~]# chmod 400 ~/.ssh/authorized_keys
[root@XXXXX ~]# make
</syntaxhighlight >
[root@XXXXX ~]# make install
<br>
</syntaxhighlight>
</li>
</li>
<li>'''フロッピーにコピー'''<br/>
<li>'''シンボリックリンクの作成'''
id_rsaファイルをフロッピーにコピーする。<br/>
([[CentOS_Howto#フロッピーのマウント|フロッピーのマウント]])
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
[root@XXXXX ~]# cp /home/hoge/.ssh/id_rsa /mnt/floppy
[root@XXXXX ~]# ln -s /usr/subversion-1.12.0 /usr/subversion
</syntaxhighlight >
</syntaxhighlight>
<br>
</li>
</li>
</ol>
</ol>
フロッピーにコピーされたid_rsaファイルを使用してPuTTyの接続設定を行う。

2023年5月11日 (木) 09:25時点における最新版

準備

  • SQLiteのCソースコード
  1. ソースの取得
     [root@XXXXX ~]# wget -P /usr/local/src https://www.sqlite.org/2019/sqlite-amalgamation-3280000.zip
  2. ソースの解凍
     [root@XXXXX ~]# cd /usr/local/src
     [root@XXXXX ~]# unzip sqlite-amalgamation-3280000.zip

    解凍されたディレクトリは後から使用するので解凍だけしておく。

インストール

  1. ソースの取得
     [root@XXXXX ~]# wget -P /usr/local/src http://ftp.riken.jp/net/apache/subversion/subversion-1.12.0.tar.gz
  2. ソースの解凍
     [root@XXXXX ~]# cd /usr/local/src
     [root@XXXXX ~]# tar zxvf subversion-1.12.0.tar.gz
  3. SQLiteのソースを移動
     [root@XXXXX ~]# cd /usr/local/src
     [root@XXXXX ~]# mv sqlite-amalgamation-3280000 subversion-1.12.0/sqlite-amalgamation

    準備で取得・解凍しておいたSQLiteのCソースコードをsubversionのソースディレクトリに移動する。

  4. コンパイル設定
    configureのヘルプ
     [root@XXXXX ~]# cd /usr/local/src/subversion-1.12.0
     [root@XXXXX ~]#  ./configure \
     > --prefix=/usr/subversion-1.12.0 \
     > --without-berkeley-db \
     > --with-apr=/usr/bin/apr-1-config \
     > --with-apr-util=/usr/bin/apu-1-config \
     > --with-apxs=/usr/bin/apxs \
     > --with-lz4=internal \
     > --with-utf8proc=internal

    (※httpdはRPMでインストール。)

  5. インストール
     [root@XXXXX ~]# make
     [root@XXXXX ~]# make install
  6. シンボリックリンクの作成
     [root@XXXXX ~]# ln -s /usr/subversion-1.12.0 /usr/subversion