git gitlab server install and configure
os user: coober/liu1985
linux user manager
$sudo adduser newuser
How To Grant a User Sudo Privileges,Search for the line that looks like this
$visudo
->root ALL=(ALL:ALL) ALL
Below this line, copy the format you see here, changing only the word "root" to reference the new user that you would like to give sudo privileges to:
->root ALL=(ALL:ALL) ALL
->newuser ALL=(ALL:ALL) ALL
How To Delete a User
#deluser newuser
or
#deluser --remove-home newuser
or
#sudo deluser --remove-home newuser
#visudo
->root ALL=(ALL:ALL) ALL
->newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
Install Nginx, MySQL, PHP (LEMP) Stack On Ubuntu 16.04
Note: Depending on your installation you may need to remove apache2. You can do that by running the commands:
$sudo apt remove apache2*
$sudo apt autoremove
Installing Nginx on Ubuntu 16.04
$sudo apt install nginx
$sudo service nginx start
Installing MySQL on Ubuntu 16.04
#sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty universe'
#sudo apt-get update
#sudo apt install mysql-server-5.6 * see note below if you get an error
#sudo apt install mysql-client-5.6
#sudo mysql_secure_installation
#dpkg -l | grep mysql-server
Installing PHP7 on Ubuntu 16.04
$apt install libapache2-mod-php7.0 php7.0 php7.0-fpm php7.0-mysql php7.0-cli php7.0-json php7.0-opcache php7.0-readline php7.0-intl php7.0-xml php7.0-mbstring php7.0-curl php7.0-zip php7.0-mcrypt php7.0-imap
$sudo mv /etc/nginx/sites-available/default /etc/nginx/sites-available/default.old
$sudo nano /etc/nginx/sites-available/default
-->
server {
listen 80;
server_name your_site_name.com;
root /usr/share/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
$sudo service nginx restart
nginx + fpm conf
server {
listen 80;
server_name dev.myproj.com;
location ~ \.php$ {
root /var/www/myproj/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
root /var/www/myproj/www;
index index.php;
}
}
server {
listen 80;
listen [::]:80;
server_name dev.linkall.com;
root /var/www/linkall;
index index.php index.html index.htm index.nginx-debian.html;
location / {
# try to serve file directly, fallback to app.php
try_files $uri /index.php$is_args$args;
#try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
#fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
}
location ~* ^/index.php {
fastcgi_split_path_info ^(.+.php)(/.+)$;
#fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffer_size 128k;
fastcgi_buffers 256 16k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
}
server
{
listen 80;
server_name local.emp.clcw.com.cn;
index index.php index.html index.htm;
access_log /var/log/nginx/local.emp.clcw.com.cn.log;
root /home/vagrant/www/emp.clcw.com.cn;
location /
{
if (!-e $request_filename){
rewrite ^/index.php(.*)$ /index.php?s=$1 last;
rewrite ^(.*)$ /index.php?s=$1 last;
break;
}
}
location ~ .*\.(php|php5)?$
{
fastcgi_pass 127.0.0.1:9001;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
if (-f $request_filename) {
expires -1s;
break;
}
}
location ~ /\.ht{
deny all;
}
}
create git repository
Start using Git on the command line
The most common use case for git init --bare is to create a remote central repository:
$ssh <user>@<host> cd path/above/repo git init --bare my-project.git
or
$git init --bare mautic.git
Initializes a new Git repository and copies files from the <template_directory> into the repository.
$git init <directory> --template=<template_directory>
$git clone ssh://john@example.com/path/to/my-project.git
Cloning to a specific folder
$git clone <repo> <directory>
Cloning a specific tag
$git clone -branch <tag> <repo>
Shallow clone
$git clone -depth=1 <repo>
clone only the new_feature branch from the remote Git repository.
$git clone -branch new_feature git://remoterepository.git
This means that a repository will be set up with the history of the project that can be pushed and pulled from, but cannot be edited directly.
$git clone --bare
Git URLs, Git has its own URL syntax which is used to pass remote repository locations to Git commands.
Git URL protocols:
-SSH
$ssh://[user@]host.xz[:port]/path/to/repo.git/
$git clone ssh://coober@192.168.0.62/var/workspace/git_respository/mautic.git
-GIT
$git://host.xz[:port]/path/to/repo.git/
- HTTP
http[s]://host.xz[:port]/path/to/repo.git/
git config
Usage
$git config user.email
git config levels and files:
- --local
Local configuration values are stored in a file that can be found in the repo's .git directory: .git/config
- --global
Global configuration values are stored in a file that is located in a user's home directory. ~ /.gitconfig
- --system
Writing a value
$git config --global user.email "your_email@example.com"
$git config --global merge.tool kdiff3
$ git config --global color.ui false
Aliases
$git config --global alias.ci commit
$git config --global alias.amend git ci --amend
$git --version
$git config --global --list
$git pull REMOTE NAME-OF-BRANCH -u
Create a branch
$git checkout -b NAME-OF-BRANCH
$git checkout NAME-OF-BRANCH
$git status
$git add CHANGES IN RED
$git commit -m "DESCRIBE THE INTENTION OF THE COMMIT"
$git push REMOTE NAME-OF-BRANCH
Delete all changes in the Git repository, but leave unstaged things
$git checkout .
Delete all changes in the Git repository, including untracked files
$git clean -f
Merge created branch with master branch
$git checkout NAME-OF-BRANCH
$git merge master
Merge master branch with created branch
$git checkout master
$git merge NAME-OF-BRANCH
GitLab Installation
官網 https://about.gitlab.com/installation/#ubuntu
文件 https://docs.gitlab.com/ee/README.html
1. Install and configure the necessary dependencies
$sudo apt-get install curl openssh-server ca-certificates postfix
2. Add the GitLab package server and install the package
$curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
$sudo apt-get install gitlab-ce
If you are not comfortable installing the repository through a piped script, you can find the entire script here and select and download the package manually and install using:
dpkg -i gitlab-ce-XXX.deb
3. Configure and start GitLab
sudo gitlab-ctl reconfigure
4. Browse to the hostname and login
The default account's username is root. Provide the password you created earlier and login. After login you can change the username if you wish
GitLab start stop
文件 https://docs.gitlab.com/ee/administration/restart_gitlab.html
Omnibus GitLab restart
$sudo service gitlab-ctl status restart stop start
$sudo gitlab-ctl restart nginx
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
$sudo gitlab-ctl kill <service>
Reconfigure Omnibus GitLab with:
$sudo gitlab-ctl reconfigure
GitLab User Account
文件 https://docs.gitlab.com/ee/ssh/README.html
Before generating a new SSH key pair check if your system already has one at the default location by opening a shell, or Command Prompt on Windows, and running the following command:
Windows Command Prompt:
$type %userprofile%\.ssh\id_rsa.pub
Git Bash on Windows / GNU/Linux / macOS / PowerShell:
$cat ~/.ssh/id_rsa.pub
Generating a new SSH key pair
$ssh-keygen -t rsa -C "your.email@example.com" -b 4096
Note: If you want to change the password of your SSH key pair, you can use
$ssh-keygen -p <keyname>.
GitLab server conf
文件
conf in:
/etc/gitlab/gitlab.rb
install in:
/var/opt/gitlab/git-data/
#grep -v '#' gitlab.rb |grep -v ^$
->external_url 'http://192.168.0.62:8081'
->gitlab_rails['gitlab_shell_ssh_port'] = 81
->nginx['listen_addresses']= ['192.168.0.62']
access gitlab from browser
http://192.168.0.62:8081
Username: root
Password: 5iveL!fe 12345678
change password for root:
gitlab-rails console production
->user = User.where(id: 1).first or user = User.find_by(email: 'admin@local.host')
->user.password = 'secret_pass'
->user.password_confirmation = 'secret_pass'
->user.save!
--gitlab backup---------
0 2 * * * /opt/gitlab/bin/gitlab-rake gitlab:backup:create
write conf /etc/gitlab/gitlab.rb
->gitlab_rails['backup_path'] = '/mnt/backups'
recover
gitlab-rake gitlab:backup:restore BACKUP=1393513186
相關文章
- How to Install and Configure VNC Server in CentOS 7VNCServerCentOS
- docker install and configureDocker
- ./configure,make,make install的作用
- configure shared serverServer
- Install and configure VMware_vSphere 5
- How to Install and Configure VNC on Ubuntu 18.04VNCUbuntu
- 安裝配置xorg [Install and configure xorg](轉)
- configure vnc server in linuxVNCServerLinux
- Linux 的./configure,make,make install的作用Linux
- CentOS7 Install GitCentOSGit
- Git和Gitlab協同工作Gitlab
- Configure the DNS Server for SCAN VIP on LinuxDNSServerLinux
- Oracle DB OS Install and Configure Requirements Quick Reference (8.0.5 to 11.2)OracleUIREM
- INFORMATION CENTER:Install and Configure Oracle ASM_1522675.2ORMOracleASM
- Bonbo Git ServerGitServer
- 部署git serverGitServer
- [Git 進階] 同一電腦共存git 和 gitlabGitlab
- git倉庫之gitlab搭建使用Gitlab
- GitLab、Git Flow 工作流使用Gitlab
- MinGW - 安裝和配置 / MinGW - Howto Install And Configure
- 自建Git Server 並使用Git進行Unity版本控制及Git workflow(一、安裝git server)GitServerUnity
- Should i install mail server on local machine?AIServerMac
- git、github、gitlab之間的關係GithubGitlab
- JB的git之旅-gitlab ci介紹Gitlab
- Oracle 10g 10.2.0.4 Patchset Server Install - Does Not Install ODBC DriverOracle 10gServer
- How To Configure Server Side Transparent Application FailoverServerIDEAPPAI
- Linux中的configure,make,make install到底在做些什麼Linux
- Install VSFTPD server in Ubuntu 16.04 LTSFTPServerUbuntu
- Git 拉取 GitLab 分支上的專案Gitlab
- git伺服器gitlab之搭建和使用伺服器Gitlab
- Git,Github和Gitlab簡介和基本使用GithubGitlab
- WebLogic Server 11g and 12c Configure SSLWebServer
- How to Configure the DNS Server for 11gR2 SCAN On LinuxDNSServerLinux
- GitHub、GitLab、Git 操作的一些規範GithubGitlab
- 版本管理工具Git(三)Gitlab高可用Gitlab
- JB的git之旅--.gitlab-ci.yml介紹Gitlab
- Git server安裝和配置GitServer
- Make sure you configure your "user.name" and "user.email" in git.AIGit