GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7でHTTPSLetsencryptを使用してApacheSubversionをセットアップする方法

Apache SubversionまたはSVNは、ApacheSoftwareFoundationによって開発されたオープンソースのバージョン管理およびリビジョン管理ソフトウェアです。これは、ソースコード、ドキュメント、およびWebページの現在および過去のバージョンを維持するために使用されます。

Subversionは、多くのソフトウェア開発者や、Apache Software Foundation、FreeBSD、GCC、SourceForgeなどのオープンソースプロジェクトで使用されています。

この記事では、最新のCentOS7サーバーでApacheSubversionを設定する方法を紹介します。 ApacheをWebサーバーとして使用してsvnソフトウェアをインストールおよび構成し、Let'sEncryptでユーザーの「基本認証」をアクティブ化して保護します。

前提条件
  • CentOS7サーバー
  • root権限
何をするか
  1. CentOS7にApacheHttpdをインストールする
  2. Subversionのインストール
  3. Subversionリポジトリを構成する
  4. CentOSApacheHttpd用のSSLLetsencryptを生成する
  5. ApacheHttpdでSubversion仮想ホストを構成する
  6. テスト
ステップ1-CentOS7にApacheHttpdをインストールします

このガイドの最初のステップは、Apachehttpdパッケージをシステムにインストールすることです。

以下のyumコマンドを使用してApachehttpdをインストールします。

yum -y install httpd httpd-tools mod_ssl

インストールが完了したら、HTTPサービスをfirewalldサービスリストに追加する必要があります。

以下のfirewall-cmdコマンドを実行します。

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

次に、httpdサービスを開始し、ブート時に開始するように追加します。

systemctl start httpd
systemctl enable httpd

Apachehttpdがサーバー上で稼働しています。

ステップ2-ApacheSubversion(SVN)をインストールする

このチュートリアルでは、ベースのCentOS7リポジトリからsubversionパッケージをインストールします。

以下のyumコマンドを使用して、Subversionと必要なすべてのパッケージをインストールします。

yum -y install subversion subversion-tools mod_dav_svn

すべてのパッケージがインストールされるまで待ってから、svnバージョンを確認してください。

svn --version

ステップ3-Subversion(SVN)リポジトリを構成する

Subversionのインストール後、マスターSubversionリポジトリディレクトリを設定します。すべてのソースコードとリポジトリが保存される新しい「svn」ディレクトリを作成します。

新しい「/svn」マスターディレクトリを作成します。

mkdir /svn

そして、以下のsvnadminコマンドを使用して、「hakase-project」という名前の新しいサンプルリポジトリを作成します。

svnadmin create /svn/hakase-project

次に、「/ svn/hakase-project」ディレクトリの所有者を「apache」ユーザーとグループに変更します。

sudo chown -R apache:apache /svn/hakase-project

そして、svnリポジトリが作成されました。

注:

SELinuxユーザーの場合は、以下のコマンドを実行してください。

chcon -R -t httpd_sys_content_t /svn/hakase-project
chcon -R -t httpd_sys_rw_content_t /svn/hakase-project
ステップ4-生成ApacheのSSL証明書を暗号化しましょう

このチュートリアルでは、「svn.hakase-labs.io」という名前のドメインでHTTPS接続を使用するようにsvnサーバーを構成します。 certbotツールで生成できる無料のLet'sEncryptSSL証明書を使用します。

以下のyumコマンドを使用してCentOSサーバーにcertbotをインストールします。

yum -y install certbot

インストールが完了したら、HTTPSサービスをfirewalldサービスリストに追加する必要があります。

以下のfirewalldコマンドを実行します。

firewall-cmd --add-service=https --zone=public --permanent
firewall-cmd --reload

ここでhttpdサービスを停止し、「スタンドアロン」の一時Webサーバーを使用してSSLLetsencryptを生成できるようにします。

systemctl stop httpd

以下のcertbotコマンドを使用して、ドメイン名「svn.hakase-labs.io」のLetsencryptSSL証明書を生成します。

certbot certonly --rsa-key-size 4096 --standalone --agree-tos --no-eff-email --email [email protected] -d svn.hakase-labs.io

これで、「/ etc /letsencrypt/live」ディレクトリにある証明書ファイルを取得できます。

ステップ5-ApacheHttpdでSubversion仮想ホストを構成する

このステップでは、svnアクセス用の新しいApachehttpd構成を作成します。ドメイン名「svn.hakase-labs.io」を使用してsvnリポジトリを構成し、HTTP基本認証を使用して登録ユーザーのみがアクセスできるようにします。

'/etc/httpd/conf.d'ディレクトリに移動し、新しいsvn構成'svn.conf'を作成します。

cd /etc/httpd/conf.d/
vim svn.conf

以下に構成を貼り付けます。

<VirtualHost svn.hakase-labs.io:80>

ServerName svn.hakase-labs.io
DocumentRoot /var/www/html
Redirect permanent / https://svn.hakase-labs.io

</VirtualHost>

<VirtualHost svn.hakase-labs.io:443>

DocumentRoot /var/www/html
ServerName svn.hakase-labs.io

SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/letsencrypt/live/svn.hakase-labs.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/svn.hakase-labs.io/privkey.pem

ErrorLog logs/svn_error_log
TransferLog logs/svn_access_log
LogLevel warn

<location /repo>
DAV svn
SVNParentPath /svn/
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/subversion/svn.users
Require valid-user
</location>

<Files ~ "\.(cgi|shtml|phtml|php3?)$">
    SSLOptions +StdEnvVars
</Files>

SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog logs/ssl_request_log \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

ファイルを保存してエディタを終了します。

次に、ファイルを表示してリポジトリにコミットできるユーザーの新しいリストを作成する必要があります。

以下のhtpasswdコマンドを使用して、「hakase」という名前の新しいユーザーを作成します。

sudo htpasswd -cm /etc/subversion/svn.users hakase

次に、Apachehttpdサービスを再起動します。

systemctl restart httpd

'hakase'ユーザーは、ソースコードを表示して'hakase-project'リポジトリにコミットするためのアクセス権を持っています。

ステップ6-テスト リポジトリの表示

ウェブブラウザを開いてサーバーのURLを入力します。私のものは次のとおりです:https://svn.hakase-labs.io/repo/hakase-project/

そして、基本的なユーザー認証プロンプトが表示されます。

'hakase'ユーザーとパスワードでログインすると、次のようになります。

プロジェクトをリポジトリにインポートする

次に、svnサンプルプロジェクトテンプレートを「hakase-project」リポジトリにインポートします。

新しいsvn-templatesプロジェクトディレクトリを作成します。

mkdir -p ~/svn-templates/{trunk,branches,tags}

以下のsvnコマンドを使用して、すべてのテンプレートディレクトリを「hakase-project」リポジトリに追加します。

svn import -m 'Initial import' ~/svn-templates/ https://svn.hakase-labs.io/repo/hakase-project/ --username hakase

次に、次のことを尋ねられます。

  • 「p」と入力して、Letsencrypt証明書を永続的に追加します。
  • 「hakase」のユーザーとパスワードを入力します。
  • 「yes」と入力して、暗号化されていないパスワードの保存について確認します。

Webブラウザから「hakase-project」を確認すると、すべてのテンプレートディレクトリが表示されます。

リポジトリのクローンを作成

svn templateディレクトリを作成してアップロードした後、リポジトリのクローンを作成するか、ローカル環境にコピーします。

新しい通常のユーザーを作成し、そのユーザーにログインします。

useradd -m -s /bin/bash misaka
su - misaka

「hakase-project」リポジトリの「myproject」という名前のローカルディレクトリを「hakase」ユーザーとして複製します。

svn co https://svn.hakase-labs.io/repo/hakase-project/ ~/myproject --username hakase

そして、以下でそれらについて再度尋ねられます。

  • 「p」と入力して、Letsencrypt証明書を永続的に追加します。
  • 「hakase」のユーザーとパスワードを入力します。
  • 「yes」と入力して、暗号化されていないパスワードの保存について確認します。

完了したら、新しい「myproject」ディレクトリを確認すると、すべてのsvnテンプレートが取得されます。

tree ~/myproject

コードまたはドキュメントをコミットする

'myproject'ディレクトリに移動します。

cd myproject/

'trunk'ディレクトリにいくつかのファイルを作成します。

echo 'this is my repo' > trunk/test-hakase.txt
echo 'this is my repo01' > trunk/test-hakase01.txt
echo 'this is my repo02' > trunk/test-hakase02.txt

追加してコミットします。

svn add trunk/* --username hakase
svn commit -m 'new file added' --username hakase

Webブラウザーからリポジトリーを確認すると、すべてのファイルがリポジトリーに追加されていることがわかります。

CentOS7でのHTTPSLetsencryptを使用したApacheSubversionのインストールと構成が正常に完了しました。


Cent OS
  1. CentOS8にApacheCassandraをインストールする方法

  2. Apacheを使用してCentosVPSにWordPressマルチサイトをインストールする方法

  3. CentOS7にApacheでLet'sEncryptをインストールする方法

  1. CentOS7にApacheをインストールする方法

  2. CentOS7にApacheMavenをインストールする方法

  3. CentOS7にApacheを使用してWordPressをインストールする方法

  1. CentOS7にApacheCassandraをインストールする方法

  2. CentOS8にApacheをインストールする方法

  3. CentOS8にApacheMavenをインストールする方法