GitLab Installation and Configuration

For sharing the project and holding the status of developing Rohc project, I set this gitlab project.

Installation

The detailed guildeline is from following URL:
https://www.digitalocean.com/community/tutorials/how-to-set-up-gitlab-as-your-very-own-private-github-clone
But have some modifications.

Modification

Write permission problem:

ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/local/rvm/gems/ruby

Solved via:

$ sudo chmod -R 777 /usr/local/bin
$ sudo chmod -R 777 /usr/local/rvm

We met modernizr missing problem, do following for avoiding this:

$ sudo wget http://rubygems.org/downloads/modernizr-2.6.2.gem
$ sudo -u git -H gem install modernizr

Also you have to modify following modules in Gemfile and Gemfile.lock:

in Gemfile, line 164, change "modernizr", "2.6.2" to "modernizr-rails", "2.7.1"
in Gemfile.lock, line 292, change modernizr (2.6.2) to modernizr-rails (2.7.1)
in Gemfile.lock, line 626, change modernizr (= 2.6.2) to modernizr-rails (= 2.7.1)

Then run:

sudo -u git -H bundle install --deployment --without development test postgres aws

You could continue with your settings.

After setting we may met smtp configuration problem, simply modify the following configuration file:

$ pwd
/home/git/gitlab
$ cat ./config/environments/production.rb
  # config.action_mailer.delivery_method = :sendmail
  # # Defaults to:
  # # # config.action_mailer.sendmail_settings = {
  # # #   location: '/usr/sbin/sendmail',
  # # #   arguments: '-i -t'
  # # # }
  # config.action_mailer.perform_deliveries = true
  # config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
      :address => 'nwsxxx.xxx.xxxxxx.com',
      :port => 25,
      :domain => '1xx.2xx.xxx.xxx'
      #:domain => '1xx.2xx.xxx.xxx',
      #:authentication => :plain,
      #:user_name => 'gitlab@yourserver.com',
      #:password => 'yourPassword',
      #:enable_starttls_auto => true
  }

Existing problem

The smtp method won’t send out the letters to the external users, I mean the email could only be used intranet not internet.

Git command

Using different branches for holding code:

[root@Linux01 twal]# pwd
/root/code/rohctest/twal
[root@Linux01 twal]# git branch
  Dev_For_ECCMU/ECCM2
  DirectoryBasedTestcases
  eccm2
* master
[root@Linux01 twal]# git checkout eccm2
Switched to branch 'eccm2'
[root@Linux01 twal]# git branch
  Dev_For_ECCMU/ECCM2
  DirectoryBasedTestcases
* eccm2
  master

So now you are in the eccm2 branch, do:

$ export TUT_CFG_FILE=/root/code/gencfg_114/wal_tuni_ipconn53.cfg
$ ./rohcFun11.py

If you want to test on eccmu, simply brach back to master via:

$ git checkout master
$ export TUT_CFG_FILE=/root/code/gencfg_117/wal_tuni_ipconn53.cfg
$ ./rohcFun11.py

Push all of the branches to the remote repository:

$ git push --all

Share Mouse between ArchLinux & Yosemite

Fixed IP

First configure the IP for Yosemite on router, since the Archlinux takes the 221, Yosemite may use 220 for its fixed ip.

ArchLinux Setting

I use ArchLinux as the synergy server, so first install synergy via:

$ sudo pacman -S synergy

I want to place Yosemite at the right of the ArchLinux, So just configure the /etc/hosts like following.

$ tail /etc/hosts
# For setting Synergy
10.0.0.220      Yosemite.lan            Yosemite

Configuration:

[root@kkkkttt kkkt]# cp /etc/synergy.conf.example /etc/synergy.conf

For easily configure the synergy, download qsynergy.

$ sudo pacman -S qsynergy

/images/synergyconfigure.jpg
Then store its configuration to the /etc/synergy.conf.

Start the server and enable the server.

# systemctl enable synergys@mary
# systemctl start synergys@mary

Yosemite Setting

Download the SynergyKM from http://synergykm.com/, and configure the SynergyKM connected to 10.0.0.221.
Also you have to check Start at login

Now place the Yosemite at the left of the ArchLinux, your mouse and keyboard could be freely switching from 2 machines.

Enable Light-Weighted WebServer

TOP Result

Via top we saw:

 2615 mysql     20   0  949.7m 450.7m   0.0  5.7   0:02.62 S mysqld  

This caused too much memory be wasted while my blog uses the static pages.
Solution: I will use a light-weighted web-server.

Disable xampp

Disble and remove the service of xampp via following command:

[root@kkkktt kkk]# systemctl stop xampp.service
[root@kkkktt kkk]# systemctl disable xampp.service
Removed symlink /etc/systemd/system/multi-user.target.wants/xampp.service.

lighttpd

Install via following command and test its configuration:

$ sudo pacman -S lighttpd
[kkk@~]$ ls /etc/lighttpd/lighttpd.conf 
/etc/lighttpd/lighttpd.conf
[kkk@~]$ lighttpd -t -f /etc/lighttpd/lighttpd.conf
Syntax OK

Test the webpages:

[kkk@/srv]$ sudo echo 'TestMe!' > /srv/http/index.html
[kkk@/srv]$ chmod 755 /srv/http/index.html
[kkk@/srv]$ sudo systemctl start lighttpd
[kkk@/srv]$ sudo systemctl enable lighttpd
Created symlink from /etc/systemd/system/multi-user.target.wants/lighttpd.service to /usr/lib/systemd/system/lighttpd.service.

Use your browser for navigating the http://127.0.0.1, then you could visit this test page.

OctoPress Changes

Add following lines into the rakefile:

  system "jekyll"
  # Use rsync for syncing the server directory with the public directory
  system "rsync -vzrtopgu -progress /home/kkk/code/octo/heroku/Tomcat/public/* /srv/http"

Then everytime when you type rake generate, after generate the static website, the rsync will automatically sync the public folder with remote web server folder /srv/http.

Tips on installing Yosemite

First get the installation image from the AppStore, then format a flash-disk more than 8G to following format:
/images/macosdisk.jpg
Use following commands for creating the installation media:

kkkkkkkktttt-iMac:~ Trusty$ sudo /Applications/Install\ OS\ X\ Yosemite.app/Contents/Resources/createinstallmedia --volume /Volumes/Install --applicationpath /Applications/Install\ OS\ X\ Yosemite.app --nointeraction

Take a coffee, cause this will spend a long time for copying everything you need into the disk.

Install Clover:

/images/clover1.jpg

Customize Clover installation:
/images/clover2.jpg

/images/clover3.jpg

Copy the dsdt & ssdt files to EFI partition:

kkkkkkkktttt-iMac:Dsdt & Ssdt Trusty$ pwd
/Users/Trusty/Desktop/MacOS/SurfacePro/SurfacePro 1° Gen FilesPackage V.0.5.1/Dsdt & Ssdt
kkkkkkkktttt-iMac:Dsdt & Ssdt Trusty$ cp -ar * /Volumes/ESP/EFI/CLOVER/ACPI/patched/

Copy some device driver files into the Clover:

kkkkkkkktttt-iMac:MacOS Trusty$ tar xzvf GenericUSBXHCI_1.2.7.tar.gz 

Copy GenericUSBXHCI.kext to 10.9/ 10.10/ Other/:

kkkkkkkktttt-iMac:kexts Trusty$ pwd
/Volumes/ESP/EFI/CLOVER/kexts
kkkkkkkktttt-iMac:kexts Trusty$ ls -F
10.10/  10.6/   10.7/   10.8/   10.9/   Other/
kkkkkkkktttt-iMac:10.10 Trusty$ sudo cp -r  /Users/Trusty/Desktop/MacOS/GenericUSBXHCI_Yosemite/ /Volumes/ESP/EFI/CLOVER/kexts/10.10/

Also we have to copy the fakesmc.kext should be copied to above folder.

kkkkkkkktttt-iMac:kexts Trusty$ ls *
10.10:
GenericUSBXHCI.kext     fakesmc.kext

10.6:

10.7:

10.8:

10.9:
GenericUSBXHCI.kext     fakesmc.kext

Other:
GenericUSBXHCI.kext     fakesmc.kext

Now copy the config.plist into the CLOVER root directory.

kkkkkkkktttt-iMac:SurfacePro 1° Gen FilesPackage V.0.5.1 Trusty$ pwd
/Users/Trusty/Desktop/MacOS/SurfacePro/SurfacePro 1° Gen FilesPackage V.0.5.1
kkkkkkkktttt-iMac:SurfacePro 1° Gen FilesPackage V.0.5.1 Trusty$ ls config.plist 
config.plist

Now you got your installation disk OK.

Forward x11 via ssh

Since the 5901 port is forbiddended via administrator of the switch, we have to forward the traffic to remote machine via ssh:

First in our machine type following command:

ssh -L 2333:A:5901 A -l Trusty

This will forward the A machines’ 5901 to local’s 2333 port.
Then use a vncviewer software for accessing local machine’s 2333 port:

vncviewer localhost:2333

Notice, the virtualbox’s is named to vboxgtk in opensuse.