Поскольку в любом случае я уже документировал процесс, почему бы не сделать мой первый пост с Dev. Для руководства по установке программного обеспечения.
TRAC является моей любимой средой управления проектами
TRAC был в течение длительного времени. Я использовал его перед существованием Git. Это было стабильным и надежно все это время. В отличие от всех больших раздутых инструментов в эти дни, такие как GitLab и Jira, TRAC работает довольно хорошо на самых дешевых виртуальных серверах, которые вы можете арендовать.
Особенности включают в себя:
- Система билетов
- Отслеживание вехи
- Отслеживание времени
- Интеграция Git с просмотром репозитория
- Вики
- Автоматизированные уведомления
- Интеграция CI
- Низкие системы требований
Об этом руководстве
Большинство гидов или прохождения такого рода очень простой. Они пытаются доставить вас туда с возможной возможной суммой информации. Мой подход к гидам выступает против этой философии. Усовершенствованные пользователи могут выбрать пропустить дополнительную информацию, такой как конфигурация брандмауэра, а также настройка экспедиции по электронной почте.
Предполагается, что приведенные команды оболочки будут запущены с помощью Sudo или в качестве корня.
Подготовьте свой сервер
Создать цифровую капельку океана с помощью Debian 9
Создание сервера с цифровым океаном довольно прост. TRAC может удобно бегать на капельке 5/мес. Используйте мою реферальную ссылку и получите $ 10 бесплатного кредита.
Это руководство было написано с использованием цифрового океана. Вы можете столкнуться с очень незначительными различиями во время установки в другой среду. Однако это руководство все равно добраться туда. Если нет, пожалуйста, дайте мне знать.
Настройте DNS для вашего TRAC Server
Очевидный кандидат — trac.yourdomain.com. Это использует этот пример доменного имени. Обновите DNS, чтобы ваше новое имя домена указывает на ваш сервер.
Вам также потребуется запись SPF, или большинство почтовых отправлений вашего сервера будет отклонено в качестве спама. Это, вероятно, будет адекватно для вашего применения:
ТЕКСТ @ aall
Обновите сервер
aptitude -y update aptitude -y upgrade
Настройте имя хоста и доменное имя на вашем сервере
Переопределить цифровой океан Автоконъект доменного имени
sed -i 's/^manage_etc_hosts: true$/manage_etc_hosts: False/' /etc/cloud/cloud.cfg
Установите систему имя хоста
cat << EOF > /etc/hostname trac EOF
Редактировать /etc/hosts
Чтобы установить системное доменное имя
Найти эти строки
127.0.1.1 example.com droplet 127.0.1.1 localhost
Обновление для вашего доменного имени TRAC
127.0.1.1 trac.yourdomain.com trac 127.0.0.1 localhost
Не Используйте просто использовать корневой домен, yourdomain.com. У вас должна быть добавление поддомена, например, trac.yourdomain.com. В противном случае у вас будут проблемы с позже в Руководстве, что позволяет TRAC отправлять уведомления по электронной почте
На данный момент перезагрузите свой сервер и подтвердите свое доменное имя и имя хоста оставаться правильным после перезагрузки. Используйте команды оболочки имя хоста
и имя домена
Отказ
Настройте брандмауэр
Установить и включить брандгелл
aptitude -y install firewalld systemctl enable firewalld systemctl start firewalld firewall-cmd --zone=public --add-interface=eth0 firewall-cmd --zone=public --add-interface=eth0 --permanent
Защита СШ.
Многие люди посоветуют вам прыгать через обручи для защиты SSH на вашем сервере Linux. Если вам действительно не нужны SSH, доступен для всего мира (вы не используете мой простой подход. Незаберите SSH в вашем брандмауэре, за исключением доверенных IP-адресов. Поскольку весь интернет не может говорить с вашим портом SSH, нет необходимости в разработке настроек и блокировки брандмауэров, таких как Fail4ban.
Повторите следующие команды для каждого доверенного IP-адреса
# Repeat these commands for every trusted IP address firewall-cmd --zone=trusted --add-source=1.2.3.4 firewall-cmd --zone=trusted --add-source=1.2.3.4 --permanent
Если вы не можете подключиться к SSH, потому что ваш текущий IP-адрес не был добавлен в доверенный список, это не проблема. Просто посетите вашу серверную панель на панели DigitalCean.com. Выберите пункт меню доступа. Вы увидите большую синюю кнопку, которая говорит, что запустить консоль. Это дает вам раковину доступ к вашему серверу через Интернет. Выдайте вышеуказанную команду, чтобы предоставить себе доступ с вашего нового IP-адреса.
Отключить SSH до публичного Интернета
firewall-cmd --zone=public --remove-service=ssh firewall-cmd --zone=public --remove-service=ssh --permanent
Разрешить веб-сайты, размещенные на вашем сервере через брандмауэр
firewall-cmd --zone=public --add-service=http firewall-cmd --zone=public --add-service=http --permanent firewall-cmd --zone=public --add-service=https firewall-cmd --zone=public --add-service=https --permanent
Получите бесплатный сертификат SSL бесплатно от Enterpry
Вы хотите, чтобы все взаимодействия с TRAC и GIT были безопасными. Для этого убедитесь HTTPS для всего вашего веб-трафика. Вам понадобится сертификат безопасности для этого.
Ваши записи DNS должны быть на месте для этого шага
В зависимости от вашего реестра домена, и как вы управляете своими записями DNS, он может занять несколько минут до часов до того, как ваши новые имена DNS появляются каждому в Интернете. Если вы не можете пинговать свое доменное имя ( Ping Trac.yourdomain.com
) Вам нужно будет подождать некоторое время до завершения этого шага.
Используйте CERTBOT, чтобы запросить сертификат SSL
Установить Certbot.
aptitude -y install certbot
Остановите свой веб-сервер, если он работает. Certbot докажет, что вы владеете этим доменным именем, пройдя свой собственный временный веб-сервер. Есть и другие способы использования CERTBOT. Посмотрите на Letsencrypt.org, если вы заинтересованы.
systemctl stop apache2
Запросить сертификат SSL.
certbot certonly --standalone -n --agree-tos \ -m youremail@yourdomain.com \ -d trac.yourdomain.com
Мы настроим сервер, чтобы использовать этот сертификат позже. Сертификат можно найти по адресу: /etc/lesensrypt/Live/trac.mydomain.com/*.pem.
Настройте локальный почтовый сервер, поэтому TRAC может отправить электронные письма
Установить exim.
aptitude -y install exim4
Обновите файл exim Config для содержения этих директив: /etc/exim4/update-exim4.conf.conf.
dc_eximconfig_configtype='internet' dc_eximconfig_other_hostnames='trac.yourdomain.com'
Не указывайте yourydomain.com как dc_eximconfig_other_hostnames или mail to @ yourdomain.com, никогда не будут доставлены. Кроме того, если вывод имя домена
Команда yourdomain.com вместо trac.yourdomain.com, почта на @ yourdomain.com никогда не будет доставлена. Это происходит, потому что Exim постарается доставить почту локально, а не через Интернет.
Это хорошая идея, чтобы создать псевдоним корневой электронной почты на вашем сервере, поэтому вы получаете уведомления с вашего сервера
cat << EOF >> /etc/aliases root: youremail@yourdomain.com EOF
Перезапустите EXIM, чтобы применить измененную конфигурацию
systemctl restart exim4
Убедитесь, что Exim правильно решает отправить почту через Интернет.
exim -bt yourname@yourdomain.com exim -bt yourname exim -bt root
Отправить тестовую электронную почту
echo "Test email" | mail -s "testing new server" yourname@yourdomain.com
Смотрите свои журналы, если есть проблема
tail -f /var/log/exim4/* & tail -f /var/log/maillog & journalctl -f &
Установите программное обеспечение и зависимости
Установите программное обеспечение через пакеты Debian.
aptitude -y install \ apache2 \ exim4 \ git \ libapache2-mod-wsgi \ libmariadb-dev-compat \ mariadb-server \ python \ python-pip
На данный момент TRAC не устанавливается правильно для меня, используя только пакеты Debian. Вы будете использовать виртуальную среду Python для установки последней версии TRAC и связанных библиотек
Создать проект домой
mkdir -p /var/www/trac
Порождать виртуальную среду
pip install virtualenv virtualenv /var/www/trac/virtualenv
Активируйте виртуальную среду
source /var/www/trac/virtualenv/bin/activate
Установить TRAC и зависимости
pip install trac pip install docutils pip install babel pip install pygments pip install MySQL-python pip install TracAccountManager
Настройка Mariadb.
Включить Мариадб
systemctl enable mariadb systemctl start mariadb
Запустите следующую команду и ответьте на вопросы. Вы установите свой пароль администратора базы данных здесь.
mysql_secure_installation
Создайте базу данных для TRAC, со следующими операторами SQL в приглашении базы данных. Конечно, замените trac_db_password с реальным паролем.
mysql -u root -p > CREATE DATABASE trac DEFAULT CHARACTER SET utf8 COLLATE utf8_bin; > GRANT ALL ON trac.* TO trac_db@localhost IDENTIFIED BY 'TRAC_DB_PASSWORD'; > FLUSH PRIVILEGES; # Press CTRL-D to exit database shell
Создать голый репозиторий Git
mkdir -p /var/www/trac/git git init --bare /var/www/trac/git/myproject.git
Установка TRAC
Инициализировать проект TRAC
# Initalize a trac project trac-admin \ /var/www/trac/project \ initenv project \ mysql://trac_db:TRAC_DB_PASSWORD@localhost/trac \ git /var/www/trac/git/myproject.git
Обновление Trac.ini.
Сделайте следующие изменения в файл конфигурации проекта TRAC /var/www/trac/project/conf/Trac.ini.
Добавьте следующие разделы
[components] tracopt.versioncontrol.git* = enabled tracopt.versioncontrol.git.git_fs.csetpropertyrenderer = enabled tracopt.versioncontrol.git.git_fs.gitconnector = enabled tracopt.versioncontrol.git.git_fs.gitwebprojectsrepositoryprovider = enabled acct_mgr.admin.* = enabled acct_mgr.api.* = enabled acct_mgr.db.sessionstore = disabled acct_mgr.htfile.htdigeststore = disabled acct_mgr.htfile.htpasswdstore = enabled acct_mgr.http.* = disabled acct_mgr.notification.* = enabled acct_mgr.pwhash.* = disabled acctmgr.register.* = enabled acct_mgr.svnserve.svnservepasswordstore = disabled acct_mgr.web_ui.* = enabled acct_mgr.web_ui.LoginModule = enabled acct_mgr.web_ui.resetpwstore = disabled acct_mgr.guard.accountguard = enabled trac.web.auth.LoginModule = disabled [account-manager] password_store = HtPasswdStore htpasswd_hash_type = md5 htpasswd_file = /var/www/trac/users.htpasswd allow_delete_account = false login_attempt_max_count = 5 user_lock_time = 60 user_lock_max_time = 0 user_lock_time_progression = 2 [git] shortrev_len = 40
Отредактируйте раздел логотипа
[header_logo] alt = Yet Another Trac Project height = -1 link = / src = /chrome/common/trac_banner.png width = -1
Отредактируйте размер вложения пределы
[attachment] max_size = 8388608 max_zip_size = 8388608 render_unsafe_content = disabled
Редактировать настройки журнала, чтобы войти через syslog
[logging] # log_file = trac.log # log_format =log_level = WARNING log_type = syslog
Отредактируйте настройки вашего проекта
[project] admin = youremail@yourdomain.com admin_trac_url = trac.yourdomain.com descr = Name For Your Project
Отредактируйте настройки почты для использования системы SendMail для доставки электронной почты. Примечание, вы также можете проинструктировать TRAC ретрансляцию через SMTP, если вы предпочитаете.
[notification] email_sender = SendmailEmailSender smtp_from = trac@yourdomain.com smtp_reply_to = trac@yourdomain.com
Создайте пустой файл паролей
touch /var/www/trac/users.htpasswd
Генерировать статические файлы, Питона кэш
Чтобы уменьшить накладные расходы в TRAC, экстракт и храните статические файлы, которые можно подавать непосредственно от Apache.
mkdir -p /var/www/trac/static trac-admin /var/www/trac/project deploy /var/www/trac/static
Разрешить кэш кода Python
mkdir -p /var/www/trac/python_egg_cache
Настройте Apache для обслуживания TRAC через WSGI
Включить модули Apache
a2enmod ssl a2enmod wsgi a2enmod cgi
Установите владение файлами TRAC в пользователь системы Apache
chown www-data:www-data -R /var/www/trac
Отредактируйте файл конфигурации Apache. Если ваш сервер собирается разместить несколько веб-сайтов, вы можете создать новый файл CONF, а не редактирование одного по умолчанию. /etc/apache2/sites-Available/000-default.conf.
# Catch all non-ssl requests and redirect them to ssl ServerName trac.yourdomain.com Redirect permanent / https://trac.yourdomain.com/ ServerName trac.yourdomain.com Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" CustomLog /var/log/httpd/yourdomain.com_trac.access.log combined ErrorLog /var/log/httpd/yourdomain.com_trac.error.log SetEnv PYTHON_EGG_CACHE /var/www/trac/python_egg_cache Alias /chrome /var/www/trac/static/htdocsWSGIDaemonProcess tracweb python-home=/var/www/trac/virtualenv WSGIProcessGroup tracweb WSGIApplicationGroup %{GLOBAL} WSGIScriptAlias / /var/www/trac/static/cgi-bin/trac.wsgi Require all granted SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.yourdomain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.yourdomain.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/www.yourdomain.com/fullchain.pem Require all granted
Проверьте настройку вашей Apache для ошибок
source /etc/apache2/envvars apache2 -t
Следите за выходом ваших журналов, чтобы обнаружить любые проблемы
journalctl -f & tail -f /var/log/apache2/*
Запустите веб-сервер Apache
systemctl restart apache2
Войдите и настройте TRAC
Плагин аутентификации
Откройте trac.yourdomain.com в вашем браузере. Если вы все сделали правильно, вы должны увидеть вводную страницу Wiki. Нажмите на ссылку для входа, чтобы быть доставлена в начальную настройку аутентификации
Шаг 1: Выберите следующие параметры:
- Преобразовать имена входа в строчные буквы на регистрации и логин — проверено
- Ограничить отправку файлов cookie в подключения HTTPS — Проверено
- Фронт аутентификации: используйте форму входа в HTML
- Интеграция ссылок на соответствующие действия в форме входа — Проверено
- Разрешить пользователю запомнить через сеансы: проверено
Шаги 2 по 5: Нет изменений по умолчанию
Шаг 6, выберите начальное имя входа и пароль
Анонимные разрешения пользователя
По умолчанию посетители сайта могут видеть в основном все. В меню администратора вы можете настроить разрешения для анонимных пользователей.
Начало работы с вашим репозиторием Git
С вашей рабочей станции, а не сервер, клонировать репозиторий
git clone https://trac.yourdomain.com/git/myproject.git
Создайте файл readme.md, примите к Git и нажмите на сервер
cd myproject cat << EOF > README.md # My Project I am just getting started with my project! EOF git add README.md git commit -a -m "Add Readme File" git push
Посетите TRAC в вашем браузере. Вы должны увидеть изменения кода, отраженные в временной шкале, и просмотрите параметры меню исходных меню.
Журналы файлов — это ваши друзья, когда что-то верно не так на вашем сервере. Вы можете посмотреть все соответствующие журналы в режиме реального времени, чтобы увидеть, какие ошибки предоставляются с чем-то, не работают.
# Linux system logs journalctl -f & # E-Mail logs tail -f /var/log/maillog & tail -f /var/log/exim4/* & # Web server logs tail -f /var/log/apache2/* &
Пожалуйста, дайте мне знать, если вы обнаружите ошибки в этом руководстве, который необходимо исправить.
Оригинал: «https://dev.to/mitchjacksontech/trac-install-guide-588e»