تو خونه به نوعی ۳ تا سیستم دارم، قبل از آشنایی با گیت یکی از مشکلاتم این بود که کدهایی رو که تو سیستمهای مختلف مینوشتم باید بصورت دستی جابجا میکردم. بعد از آشنایی با گیت و Bitbucket این مشکل بصورت کامل حل شده بود. اما بعد از مسدود شدن Bitbucket کار کردن به این شکل کمی سخت شده بود. برا همین تصمیم داشتم که خودم یه سرور گیت راه بندازم ولی مجالش نمیشد، تا این که از فرصت تعطیلات استفاده کردم و نصبش کردم. اگر حجم و تعداد پروژههاتون کم باشه میشه براحتی با رزبریپای یک سرور گیت راه انداخت، دیگه به مزایای استفاده از گیت سرور نمیپردازم و میرم سراغ نصب و تنظیمات.
این مطلب رو از وبلاگم شمشاد بازنشر میکنم:
http://shemshad.blog.ir
در بین رابطهای وبی Gogs و Gitea به علت سبک بودن و عدم نیاز یه منابع زیاد میتونن انتخابهای خوبی باشند. Gitea از Gogs جدا شده و بنا به مطالبی که خوندم در عین سیک بودن امکانات بیشتری نسبت به Gogs داره و مرتب بروز میشه. واسه همین انتخاب من برا رابط وبی، Gitea هست. مراحل نصب و تنظیمات را طیق آنچه که در این صفحه آمده پیش میبرم، البته یکی دو جا به مشکل برخوردم که راهحل اونا رو هم آوردم، گفتم "شاید برای شما هم اتفاق بیفتد".
۱. بروز کردن رزیریپای:
sudo apt-get update sudo apt-get upgrade
۲. نصب سرور دیتابیس و گیت، برا دیتابیس از MYSQL استفاده میکنیم:
sudo apt-get install git mysql-server -y
۳. ایجاد کاریر git، به این کاربر اجازه لاگین شدن در سیستم را نمیدهیم:
sudo adduser --disabled-login --gecos 'Gitea' git
۴. تنظیم دیتابیس؛ پیش از ایجاد دیتابیس و نام کاربری با اجرای دستور زیر و پاسخ دادن به سوالات، امنیت سرور دیتابیسمون رو ارتقا میدیم:
sudo mysql_secure_installation
به چند سوال پرسیده شده پاسخ میدیم:
- Enter current password for root (enter for none) :
فعلا هیچ پسوردی ست نشده است و Enter را میزنیم.
Set root password?
این پسورد، پسورد اصلی سرور دیتابیس هست، ابتدا "y" را زده و سپس Enter یزنید. پسورد دلخواهتون رو وارد کنید، بعد از زدن Enter دوباره پسورد را خواهد پرسید. از این پسورد در تنظیمات آتی استفاده خواهد شد.
Remove anonymous users?
"y" و سپس Enter یزنید.
Disallow root login remotely?
"y" و سپس Enter یزنید.
Remove test database and access to it?
"y" و سپس Enter یزنید.
حالا MYSQL رو اجرا میکنیم ، به پسوردی که در بالا ایجاد کردیم نیاز داریم.
mysql -u root -p
اگر پسورد را زدید و بدون مشکل اجرا شد به مرحله ۶ بروید، ولی چنان که با خطای زیر مواجه شدید:
ERROR 1698 (28000): Access denied for user 'root'@'localhost
۵. رفع خطای سرور دیتابیس: با استفاده از کاریر روت، MYSQL رو اجرا میکنیم:
sudo mysql -u root
حال دستورات زیر را وارد میکنیم:
USE mysql; UPDATE user SET plugin='mysql_native_password' WHERE User='root'; FLUSH PRIVILEGES; exit;
سرویس MYSQL را دوباره راهاندازی میکنیم:
service mysql restart
دوباره MYSQL رو اجرا میکنیم:
mysql -u root -p
۶. ساخت دیتابیس "Gitea":
CREATE DATABASE gitea;
حال برا دیتابسی که ساختیم کاربر تعریف میکنیم، من اسم کاربر رو "gitea" گذاشتم. در دستور زیر بجای عبارت ENTERPASSWORD پسورد دلخواهتون رو بنویسد:
GRANT ALL PRIVILEGES ON gitea.* TO 'gitea'@'localhost' IDENTIFIED BY 'ENTERPASSWORD';
FLUSH PRIVILEGES; exit
۷. دانلود Gitea: با دستور زیر به کاریر گیت سویچ میکنیم:
sudo su git
و دایرکتوری gitea را در مسیر کاربر گیت ایجاد میکنیم:
cd ~ mkdir gitea cd gitea
ورژن ۱.۸ فعلا آخرین نسخه Gitea هست و من هم همین رو میخوام نصب کنم. برای دانلود فایل باینری Gitea باید نوع معماری (و یا بهترتر ورژن Instruction Set) پردازنده رزیبریپای را در نظر بگیرید. یعنی باید بدونید پردازندهتون ARM6 یا ARM7 یا ... هست. به دو روش میتونبد این رو بفهمید. روش اول این که برید به صفحه رزیری در سایت ویکیپدیا و با تو جه به مدل برد رزیریپایتون ورژن Instruction Set رو بفهمید. در روش دوم با زدن دستور زیر مشخصات پردازنده نشان داده میشود.
cat /proc/cpuinfo
?
حالا با مراجعه به صفحه دانلود Gitea نسخه مربوط به پردازنده خودتان انتخاب کنید. دستور دانلود برای نسخه انتخابی من به شکل زیر هست شما با جاگذاری لینک انتخابیتان با لینک زیر نسخه مربوط به خودتان را دانلود کنید:
wget https://dl.gitea.io/gitea/1.8/gitea-1.8-linux-arm-6 -O gitea
منتظر میشویم تا دانلود تمام شود سپس دستورات زیر را میزنیم:
chmod +x gitea exit
۸. ایجاد سرویس Gitea: یرای این منظور فایل gitea.service در systemd ایجاد میکنیم:
sudo nano /etc/systemd/system/gitea.service
خطوط زیر را وارد کنید:
[Unit] Description=Gitea (Git with a cup of tea) After=syslog.target After=network.target [Service] # Modify these two values and uncomment them if you have # repos with lots of files and get to HTTP error 500 because of that ### # LimitMEMLOCK=infinity # LimitNOFILE=65535 RestartSec=2s Type=simple User=git Group=git WorkingDirectory=/home/git/gitea ExecStart=/home/git/gitea/gitea web Restart=always Environment=USER=git HOME=/home/git [Install] WantedBy=multi-user.target
حال CTRL + X سپس Y و Enter بزنید. برای فعال کردن سرویس در استارتآپ و اجرای سرویس دستورات زیر را میزنیم:
sudo systemctl enable gitea.service sudo systemctl start gitea.service
۹. نصب Gitea: برای نصب در مرورگر به آدرس آیپی رزبریپایتان در پورت 3000 میرویم. البته اگر فرآیند نصب را در خود رزیری انجام میدهید این آدرس همان localhost:3000 خواهد بود. (با مراجعه به این مطلب میتوانید یک دامنه در شبکه محلی برای رزیریپای تنظیم کنید. تا نیازی به دانستن آیپی نداشته باشید.) مثالی از آدرس آیپی:
http://192.168.0.143:3000
در مرورگر با صفحه زیر مواجه خواهید شد، اگر در نامگذاری دیتابیس و نامهای کاربری طیق این مطلب پیش رفته باشید، فرم را مانند تصویر پر کنید. در فیلد Password، پسوردی را که در مرحله ۶ ست کردهاید را وارد کنید:
بقیه فیلدها را مانند تصوبر زیر پر کنید. در انتها دکمه Install را بزنید و منتظر بمانید که فرآیند نصب تمام شود.
۱۰. ابجاد نام کاربری: در صفحه جدید یک نام کاریری برای خود ایجاد کنید و از سرور گیت شخصیتان لذت ببرید.
منبع: وبلاگ شمشاد