/ / Cài đặt Gitea trên Raspberry Pi để tạo kho lưu trữ mã của riêng bạn

Cài đặt Gitea trên Raspberry Pi để tạo kho lưu trữ mã của riêng bạn

Git là một hệ thống kiểm soát phiên bản được các nhà phát triển phần mềm, lập trình viên và người mày mò sử dụng để cộng tác và phân phối các dự án nguồn mở. Sử dụng Git, bạn có thể xử lý các dự án ở mọi quy mô, thực hiện các thay đổi và hợp nhất mã, đồng thời cho phép người dùng sao chép kho lưu trữ của bạn vào máy của riêng họ. Hệ sinh thái nguồn mở chạy trên Git và nhiều dự án được giới thiệu trên smartreviewaz.com liên quan đến việc sử dụng tài nguyên từ GitHub. Với Gitea, bạn có thể lưu trữ kho lưu trữ Git đầy đủ chức năng của riêng mình trên Raspberry Pi tại nhà riêng của mình.


Tại sao lưu trữ dịch vụ Git của riêng bạn trên Raspberry Pi thay vì sử dụng GitHub?

Trang kho lưu trữ GitHub hiển thị danh sách các tệp từ mã nguồn của React

Với 55 triệu người dùng, GitHub là kho lưu trữ phần mềm nguồn mở và miễn phí lớn nhất trên Trái đất, nhưng chủ sở hữu hiện tại của nó, Microsoft, không phải là người phù hợp tự nhiên cho vai trò người giám sát. Các CEO trước đây của công ty đã mô tả Linux và Giấy phép Công cộng Chung là “căn bệnh ung thư” và hầu hết các sản phẩm của chính Microsoft đều là nguồn đóng và độc quyền.

Quyền sở hữu của Microsoft cũng cho thấy GitHub đang khám phá một số công nghệ đáng ngờ về mặt đạo đức—đặc biệt là với GitHub Copilot, một công cụ AI giúp các lập trình viên tạo mã. Phi công phụ đã được đào tạo về dữ liệu từ GitHub, điều này có thể vi phạm các điều khoản của giấy phép Creative Commons do các lập trình viên sử dụng.

Bằng cách sử dụng GitHub, các nhà phát triển đang tạo ra một điểm nghẽn khác mà tại đó sự đổi mới có thể bị bóp nghẹt, làm suy yếu và chịu sự can thiệp phù phiếm.

Gitea cho phép bạn thiết lập máy chủ Git của riêng mình trên Raspberry Pi

Gitea là một nhánh của Gogs và là một giải pháp lưu trữ mã nhẹ do cộng đồng quản lý được viết bằng Go và được xuất bản theo giấy phép MIT. Nó nhằm mục đích có một mô hình phát triển mở hơn và nhanh hơn so với người tiền nhiệm của nó và sẽ chạy trên các máy có tài nguyên khiêm tốn, chẳng hạn như Raspberry Pi. Bạn sẽ có thể làm việc trên các tệp dotfile, ISO tùy chỉnh của Ubuntu, tập lệnh Bash cũng như các tiện ích Java và Python mà không sợ rằng chúng sẽ bị gỡ xuống theo DMCA, được sử dụng để đào tạo phần mềm bất chính hoặc nằm ngoài tầm kiểm soát của bạn .

Cách cài đặt Gitea trên Raspberry Pi của bạn

Gitea đi kèm với một số phương thức cài đặt, nhưng cách dễ nhất là thông qua Docker. Nếu bạn chưa chạy những thứ này trên Raspberry Pi, hãy cài đặt Docker và Docker Compose ngay bây giờ.

Các tệp bạn lưu trữ trong máy chủ Gitea của mình có thể sẽ chiếm nhiều dung lượng, vì vậy chúng tôi khuyên bạn nên sử dụng bộ nhớ ngoài với Raspberry Pi và sử dụng bộ nhớ đó làm vị trí cho cài đặt Gitea của bạn.

Kết nối với Pi của bạn qua SSH, sau đó điều hướng đến vị trí bạn muốn cài đặt Gitea và tạo một thư mục mới, sau đó di chuyển vào đó:


mkdir gitea
cd gitea

Tạo một tệp mới với nano:


nano docker-compose.yml

… và dán đoạn mã sau vào đó:


version: "3"

networks:
gitea:
external: false

services:
server:
image: gitea/gitea:latest
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:gb
- /etc/localtime:/etc/localtime:gb
ports:
- "3000:3000"
- "222:22"
depends_on:
- db

db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql

Thay đổi múi giờ thành ngôn ngữ của riêng bạn và chọn một mật khẩu mạnh cho cơ sở dữ liệu của bạn, sau đó lưu và thoát nano bằng Ctrl + Osau đó Ctrl + X.

Đi vào:


docker-compose up -d

…để hiển thị docker-compose ở chế độ tách rời. Docker-compose sẽ kéo nhiều hình ảnh cho Gitea và Maria DB và thiết lập các thùng chứa. Tùy thuộc vào tốc độ kết nối của bạn, quá trình này có thể mất một chút thời gian.

docker-compose ps hiển thị gitea và gitea_db_1 khi lên

Khi bạn được đưa trở lại dấu nhắc lệnh:


docker-compose ps

…sẽ hiển thị “gitea” và “gitea_db_1” là “lên”. Giờ đây, bạn có thể truy cập trang cấu hình ban đầu cho trang Gitea của mình tại your.pi.local.ip.address:3000.

Đừng thay đổi bất cứ điều gì được nêu ra. Nếu bạn định truy cập phiên bản Gitea của mình qua internet, trước tiên bạn cần chuẩn bị thêm một chút.

Truy cập phiên bản Gitea của bạn qua Internet

Bạn muốn có thể nhập một URL chuẩn để có thể truy cập phiên bản Gitea của mình, vì vậy bạn sẽ cần Apache để xử lý việc ủy ​​quyền. Cài đặt Apache với:


sudo apt install apache2

Bây giờ, bắt đầu và kích hoạt Apache bằng các lệnh sau:


sudo systemctl start apache2
sudo systemctl enable apache2

Kích hoạt các mô-đun proxy của Apache bằng:


sudo a2enmod proxy
sudo a2enmod proxy_http

Chọn một tên miền hoặc tên miền phụ từ một công ty đăng ký có uy tín. Sau đó, từ trang cài đặt của công ty đăng ký của bạn, hãy tìm các tùy chọn ‘DNS nâng cao’ và thêm một tùy chọn mới Một ghi lại. Đặt Chủ nhà lĩnh vực để “@” và trường giá trị thành địa chỉ IP tĩnh của bạn. Đặt giá trị TTL (Thời gian thuê) càng thấp càng tốt, sau đó lưu lại.

Mở trang quản trị bộ định tuyến của bạn và tìm một phần có tiêu đề Cổng chuyển tiếp, Bản đồ cảnghoặc Quản lý Cảng.

Tạo một mục mới cho các yêu cầu HTTP. Đặt cả cổng cục bộ và cổng công cộng thành 80và địa chỉ IP cục bộ thành địa chỉ IP của Raspberry Pi của bạn.

Cần có một cổng mở thứ hai cho các yêu cầu HTTPS. Đặt cả cổng cục bộ và cổng công cộng thành 443và một lần nữa, địa chỉ IP cục bộ thành địa chỉ IP của số Pi của bạn.

Cuối cùng, bạn cần mở một cổng cho các yêu cầu SSH đến máy chủ Git của mình. Đặt cả cổng cục bộ và cổng công cộng thành 222và địa chỉ IP cục bộ thành địa chỉ IP của Pi của bạn.

Bạn sẽ sử dụng Certbot để lấy chứng chỉ và khóa bảo mật. Thêm kho lưu trữ Certbot, cập nhật, sau đó cài đặt Certbot:


sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt-get install python3-certbot-apache

Thay đổi thư mục và tạo tệp mới bằng nano:


cd /etc/apache2/sites-available/
nano gitea.conf

Trong tệp mới, dán đoạn sau, đảm bảo sao chép vào tên miền của riêng bạn:


<VirtualHost *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>

Lưu và thoát nano với Điều khiển + Ôsau đó Điều khiển + Xvà kích hoạt tệp conf mới của bạn với:


sudo a2ensite gitea.conf

Khởi động lại Apache:


sudo service apache2 restart

Chạy Certbot với:


sudo certbot

…và chọn tên miền của bạn từ danh sách. Certbot sẽ tìm nạp và cài đặt các chứng chỉ và khóa. Khi bạn được đưa trở lại dấu nhắc, hãy khởi động lại Apache:


sudo service apache2 restart

Thiết lập phiên bản Gitea

Giờ đây, bạn có thể truy cập phiên bản Gitea của mình trong trình duyệt tại địa chỉ https://your-domain-name.tld. Bạn sẽ có thể đặt loại cơ sở dữ liệu, mật khẩu và các biến khác trong phần đầu tiên. Đây sẽ là những giá trị bạn đã chỉ định trong tệp docker-compose của mình và đã được điền sẵn, vì vậy không cần thay đổi chúng.

Trong cài đặt chungđặt Tiêu đề trang web đến một cái phù hợp, Miền máy chủ phải là tên miền của bạn và Cổng máy chủ SSH phải được đặt thành 222. URL cơ sở phải là tên miền của bạn bao gồm “HTTPS://”.

Khi bạn hoàn thành, nhấn vào màu xanh lớn Cài đặt Gitea cái nút. Bạn sẽ được chào đón bằng một tách trà xanh lớn, và bất kỳ tên và con sên nào bạn đặt cho ví dụ. Để tạo người dùng đầu tiên của bạn, hãy nhấp vào đăng ký ở trên cùng bên phải của trang, sau đó nhập thông tin chi tiết của bạn. Xin chúc mừng!

Để ngăn bất kỳ ai khác đăng ký và lưu trữ kho lưu trữ của riêng họ trên máy chủ Git của bạn, bạn cần chỉnh sửa app.ini tập tin. Nếu ban đầu bạn đã tạo gitea thư mục trong / (root) thư mục, nhập:


nano /gitea/gitea/gitea/conf/app.ini

Cuộn xuống phần dịch vụ và đặt DISABLE_REGISTRATION thành sự thật.

đăng ký gitea diable được đặt thành true

Lưu và thoát nano với Điều khiển + Ôsau đó Điều khiển + X, sau đó khởi động lại vùng chứa của bạn:


docker-compose downdocker-compose up -d

Sử dụng Gitea

Nếu bạn đã từng sử dụng GitHub, bạn sẽ ngay lập tức cảm thấy quen thuộc với Gitea. Sau khi bạn đăng nhập, bạn sẽ thấy rằng không có kho lưu trữ nào. Tạo một cái bằng cách nhấp vào + ký tên về phía bên phải của trang và đặt cho nó một cái tên hợp lý.

tạo kho lưu trữ ban đầu gitea

Bạn có thể chọn đặt kho lưu trữ ở chế độ riêng tư bằng cách chọn hộp hoặc để nó mở cho cả thế giới xem. Chọn hộp để khởi tạo bằng tệp readme, sau đó nhấp vào Tạo kho lưu trữ để tạo kho lưu trữ đầu tiên của bạn! Bạn có thể thực hiện và cam kết thay đổi, tải tệp lên và chỉnh sửa giống như với GitHub.

Bấm vào SSH để sao chép địa chỉ và bạn sẽ không thể sao chép các kho lưu trữ vào máy cục bộ của mình, thay vào đó sẽ nhận được lỗi: “Vui lòng đảm bảo rằng bạn có quyền truy cập chính xác và kho lưu trữ tồn tại”. Trước tiên, bạn cần thêm khóa SSH của máy cục bộ vào Gitea. Để làm điều này, sao chép đầu ra từ:


cat ~/.ssh/id_rsa.pub

Trong giao diện web Gitea của bạn, nhấp vào ảnh hồ sơ của bạn, sau đó chọn cài đặt > Khóa SSH/ GPG. Bấm vào Thêm khóavà dán vào khóa bạn vừa sao chép.

thêm khóa ssh vào gitea

Giờ đây, bạn có thể tương tác với kho lưu trữ Git của riêng mình trên máy chủ Git của riêng bạn trên Raspberry Pi của riêng bạn!

Sử dụng phiên bản Gitea của bạn để tạo các dự án phần mềm tuyệt vời

Git là một công cụ tuyệt vời để cộng tác trong các dự án tuyệt vời, nhưng ngay cả khi không có nhóm, nó vẫn tuyệt vời để tổ chức quy trình làm việc của riêng bạn và tạo phần mềm hoặc cấu hình tuyệt vời. Sử dụng nó để giúp theo dõi các tệp của bạn khi bạn học một ngôn ngữ lập trình mới hoặc tùy chỉnh hệ thống máy tính để bàn của bạn trở nên tốt nhất có thể.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *