GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Setup Apache Subversion dengan HTTPS Letsencrypt di CentOS 7

Apache Subversion atau SVN adalah versi open source dan perangkat lunak kontrol revisi yang dikembangkan oleh Apache Software Foundation. Ini digunakan untuk memelihara versi terkini dan historis dari kode sumber, dokumen, dan halaman Web.

Subversion digunakan oleh banyak pengembang perangkat lunak dan proyek sumber terbuka seperti Apache Software Foundation, FreeBSD, GCC, dan SourceForge.

Dalam artikel ini, kami menunjukkan cara menyiapkan Apache Subversion di server CentOS 7 terbaru. Kami menginstal dan mengonfigurasi perangkat lunak svn dengan Apache sebagai server web, mengamankannya dengan Mari mengenkripsi dan mengaktifkan "Otentikasi Dasar" untuk pengguna.

Prasyarat

  • Server CentOS 7
  • Hak istimewa root

Apa yang akan kami lakukan

  1. Instal Apache Httpd di CentOS 7
  2. Instal Subversion
  3. Konfigurasikan Repositori Subversi
  4. Buat SSL Letsencrypt untuk CentOS Apache Httpd
  5. Konfigurasi Subversion Virtual Host di Apache Httpd
  6. Pengujian

Langkah 1 - Instal Apache Httpd di CentOS 7

Langkah pertama dalam panduan ini adalah menginstal paket Apache httpd di sistem Anda.

Instal Apache httpd menggunakan perintah yum di bawah ini.

yum -y install httpd httpd-tools mod_ssl

Dan setelah penginstalan selesai, kita perlu menambahkan layanan HTTP ke daftar layanan firewall.

Jalankan perintah firewall-cmd di bawah ini.

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

Sekarang mulai layanan httpd dan tambahkan untuk memulai saat boot.

systemctl start httpd
systemctl enable httpd

Apache httpd aktif dan berjalan di server.

Langkah 2 - Instal Apache Subversion (SVN)

Dalam tutorial ini, kita akan menginstal paket subversion dari repositori dasar CentOS 7.

Instal Subversion dan semua paket yang diperlukan menggunakan perintah yum di bawah ini.

yum -y install subversion subversion-tools mod_dav_svn

Tunggu hingga semua paket terinstal lalu periksa versi svn.

svn --version

Langkah 3 - Konfigurasi Repositori Subversion (SVN)

Setelah instalasi Subversion, kami mengkonfigurasi direktori repositori master Subversion. Kami akan membuat direktori 'svn' baru di mana semua kode sumber dan repositori akan disimpan.

Buat direktori master '/svn' baru.

mkdir /svn

Dan buat repositori sampel baru bernama 'hakase-project' menggunakan perintah svnadmin di bawah ini.

svnadmin create /svn/hakase-project

Sekarang ubah pemilik direktori '/svn/hakase-project' menjadi pengguna dan grup 'apache'.

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

Dan repositori svn telah dibuat.

Catatan:

Tambahan untuk pengguna SELinux, jalankan perintah di bawah ini.

chcon -R -t httpd_sys_content_t /svn/hakase-project
chcon -R -t httpd_sys_rw_content_t /svn/hakase-project

Langkah 4 - Buat Mari mengenkripsi Sertifikat SSL untuk Apache

Dalam tutorial ini, kita mengkonfigurasi server svn untuk menggunakan koneksi HTTPS dengan domain bernama 'svn.hakase-labs.io'. Kami akan menggunakan sertifikat SSL Let's encrypt gratis yang dapat dibuat dengan alat certbot.

Instal certbot di server CentOS dengan perintah yum di bawah ini.

yum -y install certbot

Ketika instalasi selesai, kita perlu menambahkan layanan HTTPS ke daftar layanan firewalld.

Jalankan perintah firewalld di bawah ini.

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

Sekarang hentikan layanan httpd, sehingga kami dapat membuat SSL Letsencrypt menggunakan server web sementara 'mandiri'.

systemctl stop httpd

Buat Sertifikat SSL Letsencrypt untuk nama domain 'svn.hakase-labs.io' menggunakan perintah certbot di bawah.

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

Sekarang Anda akan mendapatkan file sertifikat di direktori '/etc/letsencrypt/live'.

Langkah 5 - Konfigurasikan Subversion Virtual Host di Apache Httpd

Pada langkah ini, kita akan membuat konfigurasi Apache httpd baru untuk akses svn. Kami akan mengonfigurasi repositori svn menggunakan nama domain 'svn.hakase-labs.io', dan hanya dapat diakses oleh pengguna terdaftar yang menggunakan otentikasi dasar HTTP.

Buka direktori '/etc/httpd/conf.d' dan buat konfigurasi svn baru 'svn.conf'.

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

Tempelkan konfigurasi di bawah.

<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>

Simpan file dan keluar dari editor.

Selanjutnya, kita perlu membuat daftar pengguna baru yang dapat melihat dan mengkomit file ke repositori.

Buat pengguna baru bernama 'hakase' menggunakan perintah htpasswd di bawah ini.

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

Sekarang restart layanan Apache httpd.

systemctl restart httpd

Pengguna 'hakase' sekarang memiliki akses untuk melihat dan memasukkan kode sumber ke repositori 'hakase-project'.

Langkah 6 - Pengujian

Melihat Repositori

Buka browser web Anda dan ketik URL server, milik saya ini: https://svn.hakase-labs.io/repo/hakase-project/

Dan Anda akan diperlihatkan prompt otentikasi pengguna dasar.

Login dengan user dan password 'hakase', dan berikut hasilnya.

Impor Proyek ke Repositori

Sekarang kita akan mengimpor template proyek sampel svn ke repositori 'hakase-project'.

Buat direktori proyek svn-templates baru.

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

Tambahkan semua direktori template ke repositori 'hakase-project' menggunakan perintah svn di bawah ini.

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

Sekarang Anda akan ditanya hal-hal berikut.

  • Ketik 'p' untuk menambahkan sertifikat Letsencrypt secara permanen.
  • Ketikkan pengguna dan sandi 'hakase'.
  • Dan ketik 'ya' untuk mengonfirmasi tentang penyimpanan sandi yang tidak terenkripsi.

Periksa 'hakase-project' dari browser web, dan Anda akan mendapatkan semua direktori template di dalamnya.

Klon Repositori

Setelah membuat dan mengunggah direktori template svn, kami ingin mengkloning atau menyalin repositori ke lingkungan lokal.

Buat pengguna normal baru dan login ke pengguna.

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

Kloning repositori 'hakase-project' direktori lokal bernama 'myproject' sebagai pengguna 'hakase'.

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

Dan Anda akan ditanya lagi tentang hal-hal di bawah ini.

  • Ketik 'p' untuk menambahkan sertifikat Letsencrypt secara permanen.
  • Ketikkan pengguna dan sandi 'hakase'.
  • Dan ketik 'ya' untuk mengonfirmasi tentang penyimpanan sandi yang tidak terenkripsi.

Dan jika sudah selesai, periksa direktori 'myproject' yang baru dan Anda akan mendapatkan semua template svn.

tree ~/myproject

Membuat Kode atau Dokumen

Buka direktori 'proyek saya'.

cd myproject/

Buat beberapa file di direktori '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

Tambahkan dan komit.

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

Periksa repositori dari browser web, dan Anda akan melihat semua file telah ditambahkan ke repositori.

Instalasi dan konfigurasi Apache Subversion dengan HTTPS Letsencrypt pada CentOS 7 telah berhasil diselesaikan.


Cent OS
  1. Cara Instal Apache Cassandra di CentOS 8

  2. Cara menginstal WordPress Multisite di Centos VPS dengan Apache

  3. Cara Menginstal Let's Encrypt dengan Apache di CentOS 7

  1. Cara Menginstal Apache di CentOS 7

  2. Cara Menginstal Apache Maven di CentOS 7

  3. Cara Menginstal WordPress dengan Apache di CentOS 7

  1. Cara Instal Apache Cassandra di CentOS 7

  2. Cara Menginstal Apache di CentOS 8

  3. Cara Menginstal Apache Maven di CentOS 8