Настройка работы Mercurial по https для Centos и Ubuntu
Иногда mercurial, при скачивании и комитах ругается на https. Особенно на самоподписанные сертификаты. Чтобы заработал Mercurial по https нужно
Для Centos 6
Установите корневые сертификаты. Выполните комманды под рутом
yum install ca-certificates
update-ca-trust force-enable
Установите сертификаты от letsencrypt
wget https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem -O"/etc/pki/ca-trust/source/anchors/lets-encrypt-x1-cross-signed.pem"
wget https://letsencrypt.org/certs/lets-encrypt-x2-cross-signed.pem -O"/etc/pki/ca-trust/source/anchors/lets-encrypt-x2-cross-signed.pem"
wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem -O"/etc/pki/ca-trust/source/anchors/lets-encrypt-x3-cross-signed.pem"
wget https://letsencrypt.org/certs/lets-encrypt-x4-cross-signed.pem -O"/etc/pki/ca-trust/source/anchors/lets-encrypt-x4-cross-signed.pem"
Соберите сертификаты командой:
update-ca-trust extract
Для Ubuntu
Установите сертификаты от letsencrypt:
wget https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem -O"/usr/local/share/ca-certificates/lets-encrypt-x1-cross-signed.crt"
wget https://letsencrypt.org/certs/lets-encrypt-x2-cross-signed.pem -O"/usr/local/share/ca-certificates/lets-encrypt-x2-cross-signed.crt"
wget https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem -O"/usr/local/share/ca-certificates/lets-encrypt-x3-cross-signed.crt"
wget https://letsencrypt.org/certs/lets-encrypt-x4-cross-signed.pem -O"/usr/local/share/ca-certificates/lets-encrypt-x4-cross-signed.crt"
Соберите сертификаты коммандой
update-ca-certificates
Настройка php и hg
Пропещите сертификаты в php. Для этого выполните команду sudo nano /etc/php.d/openssl.ini
# Для Centos
openssl.cafile="/etc/ssl/certs/ca-bundle.crt"
# Для Ubuntu
# openssl.cafile="/etc/ssl/certs/ca-certificates.crt"
openssl.capath="/etc/ssl/certs/"
Создайте файл nano ~/.hgrc в домашней папке и вставьте содержимое. Вместо текста в <> вставьте ваши данные
[ui]
username=<ваше имя пользователя>
[auth]
<myserver_alias>.prefix = https://<myserver_domain_name>/
<myserver_alias>.username = <логин>
<myserver_alias>.password = <пароль>
[defaults]
push = -v -f --debug
pull = -v --debug
commit = -v --debug
#[hostfingerprints]
#<myserver_domain_name> = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
#[web]
#Для Centos
#cacerts = /etc/ssl/certs/ca-bundle.crt
#Для Ubuntu
#cacerts="/etc/ssl/certs/ca-certificates.crt"