Month: May 2016

Setup Vagrant, Linux, PHP, XDebug

list file: ls -al /etc
de biet path hien tai: pwd
apache:
sudo yum install httpd
sudo systemctl start httpd.service
start apache khi boot system: sudo systemctl enable httpd.service
sudo systemctl restart httpd.service
MySQL:
sudo yum install mariadb-server mariadb
start service: sudo systemctl start mariadb
remove mot vai caidat default: sudo mysql_secure_installation
PHP:
sudo yum install php php-mysql
List module va extension: yum search php-
yum info package_name : xem thong tin package
yum info php-fpm : mo ta chi tiet package
sudo yum install php-fpm: cai package php-fpm
sudo yum install package1 package2 … : install nhieu package
sudo vi /var/www/html/info.php : tao file
:$ => di den cuoi file
😡 (quit and save)
:w
and
:q => exit without save
i => insert mode
esc: thoat insert mode
sudo rm /var/www/html/info.php =>delete file

$ vagrant reload
Neu loi: /sbin/mount.vboxsf: mounting failed with the error: No such device => :
sudo yum update -y
sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) dkms -y
vagrant plugin install vagrant-vbguest

vagrant file:
config.vm.network “private_network”, ip: “192.168.33.10”
config.vm.network “private_network”, ip: “192.168.33.10”
config.vm.synced_folder “./shared/www”, “/var/www/html/”, :mount_options => [“dmode=777”, “fmode=777”]
config.vm.synced_folder “./shared/logs”, “/logs”, :mount_options => [“dmode=777”, “fmode=777”]

link tham khao:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Step_by_Step_Guide/s1-navigating-pwd.html

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-7

Advertisements

Clone repository via SSH in Github

1. Checking for existing SSH keys

ls -al ~/.ssh
2.Generating a new SSH key

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

* When you’re prompted to “Enter a file in which to save the key,” press Enter. This accepts the default file location. Then type a secure passphrase
3.Adding your SSH key to the ssh-agent
– Turn on ssh-agent

eval “$(ssh-agent -s)”

– Add your SSH key to the ssh-agent. If you used an existing SSH key rather than generating a new SSH key, you’ll need to replace id_rsa in the command with the name of your existing private key file.

ssh-add ~/.ssh/id_rsa

4. Add the SSH key to your GitHub account
– Copy the SSH key to your clipboard:
clip < ~/.ssh/id_rsa.pub
– On Github, In the top right corner of any page, click Settings =>  click SSH and GPG keys => Click New SSH key => enter title and Paste your key into the “Key” field => Confirm the action by entering your GitHub password
5. Testing your SSH connection (https://help.github.com/articles/testing-your-ssh-connection/)
– Open Git Bash
ssh -T git@github.com
– You may see one of these warnings:
The authenticity of host ‘github.com (192.30.252.1)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
– then type yes:
– Verify that the resulting message contains your username

5. Clone via SSH
git clone ssh://git@github.com/<user>/<repository name>.git

Các câu lệnh Github

Sao chép (clone) một repository

  • Để tạo 1 repository mới: git init
  • Clone 1 repository có sẵn ở trên máy cục bộ: git clone /đường-dẫn-đến/repository/

* Nếu repository đó ở máy chủ khác thì bạn hãy gõ dòng lệnh sau:git clone tênusername@địachỉmáychủ:/đường-dẫn-đến/repository

Thêm (add) & commit

  • Thêm nó vào chỉ mục Index: git add <tên-tập-tin> <=> git add *
  • Commit: git commit -m "Ghi chú Commit"

Đẩy (push) các thay đổi

  • Để gửi những thay đổi đến repository remote: git push origin master

* Thay đổi master bằng bất cứ nhánh nào mà bạn muốn đầy những thay đổi đến.

  • Nếu bạn chưa clone một repository hiện có và muốn kết nối repository của bạn đến máy chủ remote, bạn phải thêm nó với: git remote add origin <máy-chủ> .Bây giờ bạn đã có thể đẩy các thay đổi của mình vào máy chủ đã chọn.

Nhánh (Branch)

  • List all branch:

git branch

  • Tạo một nhánh mới và đặt tên là “feature_x” và chuyển qua nhánh đó (từ master) bằng cách (create your branch locally): git checkout -b feature_x
  • Push new branch to remote:

git push <remote-name> <branch-name>

  • Trở lại nhánh master: git checkout master
  • Delete branch:

git push origin --delete <branchName>

Cập nhật & trộn (update & merge)

  • Để cập nhật repository cục bộ của bạn và commit mới nhất, thực thi: git pull trong thự mục đang làm việc để lấy về (fetch)trộn (merge) các thay đổi ở remote
  • Để trộn một nhánh khác vào nhánh đang hoạt động (vd: master), sử dụng:

   git merge <nhánh>

Trong cả hai trường hợp, git cố gắng trộn tự động (auto-merge) các thay đổi. Không may, điều này không phải lúc nào cũng làm được và thường dẫn đến xung đột. Trách nhiệm của bạn là trộn các xung đột đó thủ công bằng cách chỉnh sửa các tập tin được hiển thị bởi git. Sau khi thay đổi, bạn phải đánh dấu chúng là đã được trộn (merged) với lệnh:

git add <tên-tập-tin>

trước khi trộn các thay đổi, bạn có thể xem trước chúng bằng cách:

git diff <nhánh_nguồn> <nhánh_mục_tiêu>

Gắn nhãn (tagging)

  • Nên tạo nhãn (tags) khi phát hành phần mềm. đây là khái niệm được biết đến, đã từng có trên SVN. Bạn tạo tag mới tên là 1.0.0 bằng cách:

git tag 1.0.0 1b2e1d63ff

* Chuỗi 1b2e1d63ff là 10 ký tự đầu tiên của mã commit (commit id) mà bạn muốn tham chiếu đến bằng nhãn của bạn. Bạn có thể lấy mã commit với lệnh:

git log

           bạn cũng có thể sử dụng ít ký tự hơn từ mã commit, nó chỉ cần phải là duy nhất

Thay thế các thay đổi cục bộ

  • Trong trường hợp bạn làm sai điều gì đó, bạn có thể thay thế các thay đổi cục bộ bằng lệnh:

git checkout -- <tên-tập-tin>

* lệnh này thay thế những thay đổi trong “tree” đang làm việc với nội dung mới nhất của HEAD. Các thay đổi đã được thêm vào chỉ mục, kể cả các tập tin mới, điều này sẽ được giữ lại

  • Hủy tất cả thay đổi và commit cục bộ, lấy về (fetch) lịch sử gần đây nhất từ máy chủ và trỏ nhánh master cục bộ vào nó như sau:

git fetch origin

git reset --hard origin/master

Continue reading “Các câu lệnh Github”