سلام طبق معمول امیرمهدی هستم :)
من می خواستم پروژم رو با گیت مدیریت کنم روی چند تا دستگاه داشته باشم و روی هر دستگاه کامیت می کنم رو اون یکی هم بیاد . چاره ی کار یک گیت سرور بود . باید پروژم رو میذاشم تو گیت هاب ولی پروژم خصوصی بود و نمی خواستم کسی سورسش رو ببینه و خب خصوصیش هم تحریم و پولی بود :) گیت لب هم که تحریمیم :) . خب باید یک گیت سرور شخصی روی یک سرور روی لوکال یا رو یک vps نصب می کردم که من رو vps نصب کردم :) دو تا گزینه برای گیت سرور شخصی داشتم :
خب من اول گیت لب رو نصب کردم چون باحال و دهن پر کن بود :) ولی خب خیلی منابعم رو اشغال کرد و من که از اون vps هم برای میزبانی ۶ تا سایت و هم کلی سرویس دیگه استفاده می کردم ، مناسبم نبود :)
پس به ناچار میریم سراغ گزینه ی دوم گیتی اول قبلش بگم که حالا که گیتی دارم می تونم بگم کاش از اول گیتی نصب می کردم . مزایای گیتی :
حتی می تونید روی یک رزبری پای هم اجراش کنید.
خب بریم سراغ نصب گیتی (gitea) :
پیش نیاز ها : (ما هرچی نیازه رو خودمون انجام میدیم صرفا ببینید)
sudo yum update
sudo yum -y install git
گیتی از دیتابیس های زیر هم پشتیبانی میکنه :
ولی ما توی این این آموزش از mariadb(mysql) استفاده می کنیم :)
sudo yum -y install mariadb-server
بعد از این که تموم شد ماریا دی بی رو فعال و استارت می کنیم تا بعد از بوت هم کار کنه :
systemctl enable mariadb.service systemctl start mariadb.service
بعد از اجرای دستورات بالا ، میریم تا mariadb(mysql) رو کانفیگ کنیم و برای روتش پسورد بزاریم و نزاریم کسی به صورت ریموت بهش کانکت بشه :)
sudo mysql_secure_installation
وقتی دستور بالا رو زدید سوالات رو طبق زیر پر کنید :
Enter current password for root (enter for none): فقط ایننتر رو بزنید Set root password? [Y/n]: Y New password: پسورد انتخابی برای روت مای اسکیوالتون رو بزنید Re-enter new password: پسورد رو مجددا بزنید Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
حالا مای اسکیو ال رو ری استارت می کنیم :
sudo systemctl restart mariadb.service
با روت مای اسکیوال لاگین می کنیم :
sudo mysql -u root -p
بعد از زدن دستور بالا پسوردی که برای روت مای اسکیوالتون انتخاب کردید رو بزنید و بعد با پیغام خوش آمد رو به رو میشید. با دستور زیر یک دیتابیس برای گیتی می سازیم :
CREATE DATABASE gitea;
خب حالا یک یوزر با نام giteauser برای دیتابیس می سازیم:
CREATE USER 'giteauser'@'localhost' IDENTIFIED BY 'پسورد برای یوزر';
حالا تمامی دسترسی ها رو به giteauser روی دیتابیس gitea میدیم :
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION;
با دستور زیر یک یوزر میسازیم برای این که گیتی رو اجرا کنه :
sudo adduser --system --shell /bin/bash --comment 'Git Version Control' --user-group --home-dir /home/git -m git
و ساخت دایرکتوری های مورد نیاز :
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log} sudo chown git:git /var/lib/gitea/{data,indexers,log} sudo chmod 750 /var/lib/gitea/{data,indexers,log} sudo mkdir /etc/gitea sudo chown root:git /etc/gitea sudo chmod 770 /etc/gitea
با دستور زیر گیتی رو دانلود می کنیم و و بهش دسترسی اجرا شدن میدیم :)در صورت این که خیلی از زمان انتشار این نوشته میگذره، شما می توتیند از این لینک ، لینک دانلود جدید رو با لینک دانلود قدیمی پایین جایگذین کنید :)
sudo wget -O gitea https://dl.gitea.io/gitea/1.6.1/gitea-1.6.1-linux-amd64 sudo chmod +x gitea
انتقال فایل اجرایی gitea توی path تا بشه با یک دستور اجراش کرد و ...
sudo cp gitea /usr/local/bin/gitea
خب با دستور زیر ، یک سرویس فایل برای گیتی می سازیم :
sudo touch /etc/systemd/system/gitea.service
و با یک ادیتور مانند vi یا nano اطلاعات زیر رو توش میریزیم :
[Unit] Description=Gitea (Git with a cup of tea) After=network.target After=mariadb.service [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get an HTTP error 500 because # of that ### #LimitMEMLOCK=infinity #LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/var/lib/gitea/ ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini Restart=always Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea # If you want to bind Gitea to a port below 1024 uncomment # the two values below ### #CapabilityBoundingSet=CAP_NET_BIND_SERVICE #AmbientCapabilities=CAP_NET_BIND_SERVICE [Install] WantedBy=multi-user.target
با دستورات زیر گیتی رو فعال و استارت می کنیم تا بعد از بوت هم کار کنه :
sudo systemctl daemon-reload sudo systemctl enable gitea sudo systemctl start gitea
با دستورات زیر پورت ۳۰۰۰ رو که گیتی به صورت دیفالت ازش استفاده می کنه رو تو فایروال باز می کنیم و فایروال رو ریستارت می کنیم :)
sudo firewall-cmd --add-port 3000/tcp --permanent sudo firewall-cmd --reload
خب و همه چیز تموم شد :)
مرورگرتون رو باز کنید و بزنید :
http://YOUR_SERVER_IP:3000/install
و تمام فیلد ها رو پر کنید و از سرور گیت شخصیتون استفاده کنید و حالش رو ببرید :)
ترجمه شده به صورت بهتر و با جمله بندی بهتر و کلا بهتر (با راهنمایی بیشتر) از VULTR
خوش و خندون باشید :)