Saturday, April 14, 2012

Set up Python for Android development

Python Android
adb cmd example
  • Install android-sdk: 
    • tools:android
    • platform-tools:adb
  • Create an AVD ("android avd") test1. 
  • "emulator avd test1"
  • sudo apt-get install ia32-libs
  • While the above is running, "platform-tools/adb install sl4a_r4.apk"
  • While the above is running, "platform-tools/adb install PythonForAndroid_r4.apk"
  • Use adb for pushing python code for Android testing. 

Monday, April 9, 2012

Kerberos


Ubuntu Reference

Admin the Kerberos
Kerberos
ktadd keytab

Server

The‘kadmin.local’ is intended to run directly on the KDC without any Kerberos authentication. Normal UNIX users cannot execute this command. Executing the kadmin.local command will display the kadmin.local prompt only if you are the root user. 

Client

kinit alfresco/admin@EXAMPLE.COM
klist


Admin
kadmin -p alfresco/admin
klist -ef

Python Kerberso

sudo apt-get install libkrb5-dev
pip install kerberos

Thursday, March 29, 2012

iptables


sudo iptables -F
#sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
sudo iptables -A INPUT -p tcp --dport 8080 ! -s  24.86.126.251 -j DROP
#sudo iptables -A INPUT -p tcp --dport 8080 -m iprange --src-range 24.86.126.251 -j ACCEPT
sudo iptables -L

Configure and test CIFS with Alfresco


1. alfresco-global.properties

## CIFS
cifs.enabled=true
cifs.serverName=server_name
cifs.domain=WORKGROUP
cifs.hostannounce=true
cifs.sessionTimeout=500
cifs.ipv6.enabled=false
#cifs.tcpipSMB.port=1445
#cifs.netBIOSSMB.namePort=1137
#cifs.netBIOSSMB.datagramPort=1138
#cifs.netBIOSSMB.sessionPort=1139
cifs.WINS.autoDetectEnabled=true


2. Run "sudo alfresco " as root so that it can use the default ports. 

3. Test From Windows Explorer to map network drive with user credential. 
    net use X: \\192.168.1.35\Alfresco /usr:admin admin

4. Test from Ubuntu side
https://help.ubuntu.com/community/Samba/SambaClientGuide
 smbclient -U qa1 //108.171.177.147/Alfresco -p 139

Alfresco running as linux service

under id "alfresco" (group alfresco)
ln -s $ALF_HOME/alfresco.sh /etc/init.d/alfresco
update-rc.d alfresco defaults

Reference
http://wiki.alfresco.com/wiki/Installing_Alfresco_on_Ubuntu_7.10

Customize Alfresco email invite for external user

tomcat/shared/classes/alfresco/extension$ cat invite-context.xml 



<beans>
        <bean class="org.alfresco.repo.security.authentication.NameBasedUserNameGenerator" id="nameBasedUserNameGenerator">
                
                <property name="namePattern">
                        <value>%emailAddress%</value>
                </property>

                <property name="userNameLength">
                        <value>10</value>
                </property>
        </bean>
</beans> tomcat/shared/classes/alfresco/extension$ cat invite-context.xml

Saturday, March 24, 2012

ffmpeg ubuntu 11.10


  • sudo apt-get install ffmpeg libavcodec-extra-53
  • Follow http://blog.stevenreid.co.uk/2011/10/25/transcoding-video-iphone/ and http://ubuntuforums.org/showthread.php?t=786095
  • ffmpeg -i source.avi -acodec libfaac -ab 128k -ar 44100 -vcodec mpeg4  -b 1000K -s 640x480 destination.m4v

Tuesday, March 20, 2012

install ec2 API


  • enable multiverse: sudo vi /etc/apt/sources.list
deb http://us.archive.ubuntu.com/ubuntu/ lucid multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid multiverse
deb http://us.archive.ubuntu.com/ubuntu/ lucid-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ lucid-updates multiverse

Thursday, March 15, 2012

Alfresco LDAP


alfresco-global.properties
(LDAP)authentication.chain=alfinst:alfrescoNtlm,ldap:ldap1
(AD)authentication.chain=alfinst:alfrescoNtlm,ldap-ad1:ldap-ad

Extension Root
(LDAP)tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap1
(AD)tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap-ad1/ldap-ad-authentication.properties

Alfresco LDAP integration
Alfresco LDAP configuration

Tuesday, March 13, 2012

install lookit ubuntu

sudo add-apt-repository ppa:lookit/ppa
sudo apt-get update
sudo apt-get install lookit

Saturday, March 3, 2012

install LAMP on ubuntu

sudo apt-get install tasksel
sudo tasksel install lamp-server
https://help.ubuntu.com/community/Tasksel

Thursday, February 23, 2012

python eco system setup

python ecosystem


install necessary dev tools
$ sudo apt-get install python-pip
$ sudo pip install --upgrade pip 
$ sudo pip install --upgrade virtualenv 
$ sudo pip install --upgrade virtualenvwrapper  
$ sudo apt-get install git-core mercurial subversion
$ sudo apt-get install python-dev build-essential 
 
install python 
$ sudo apt-get intsall python
$ sudo apt-get intsall python3

 



management of virtualenv

$ mkvirtualenv my_project_venv
$ workon my_project_venv
$ deactivate
$ rmvirtualenv my_project_venv
 
create python3 virtualenv
mkvirtualenv -p /usr/bin/python py3
workon py3
pip install ipython3

Wednesday, January 18, 2012

Fix VirtualBox after kernel upgrade


http://askubuntu.com/questions/71441/virtualbox-ubuntu-11-10-linux-kernel-3-cannot-start-virtual-machine

sudo dkms install virtualbox/4.1.2

sudo /etc/init.d/virtualbox start 

Wednesday, December 28, 2011

mysql reset root password

http://www.cyberciti.biz/tips/recover-mysql-root-password.html

on fedora: /etc/init.d/mysqld
on debian: /etc/initd/mysql

/etc/init.d/mysql stop
mysqld_safe --skip-grant-tables &
mysql -u root 
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
/etc/init.d/mysql start

Wednesday, December 14, 2011

OpenLDAP


Install on ubuntu: 

sudo apt-get install slapd ldap-utils
sudo apt-get install phpldapadmin

sudo service apache2 restart
http://host/phpldapadmin

Reference

openldap-server.html
One correction: please quote the binding dn below in bash.

OpenLDAPServer

How to change RootDN 

/etc/ldap/slapd.d/cn=config/olcDatabase={1}hdb.ldif
olcDatabase={1}hdb.ldif:olcRootDN: cn=admin,dc=example,dc=com

How to change RootPWD
  • generate hash with slappasswd  
  • change RootPwd using the above generated hash. 
  • sudo service slapd restart
Clean Import 

  • service stop slapd
  • clean slapd db: rm -f /var/lib/ldap/*
  • slapadd -l .ldif
  • /var/lib/ldap$ sudo chown openldap:openldap * (make sure the ownership belongs to openldap)
  • service start slapd


Add entries

sudo ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f frontend.example.com.ldif 
(it will prompt for password)


Search

  • ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts
  • ldapsearch -x -b 'dc=example,dc=com' '(objectclass=*)'


Install python-ldap


  • sudo apt-get install build-essential python-dev libldap2-dev libssl-dev libsasl2-dev
  • pip install python-ldap


Thursday, December 8, 2011

increase Linux max number of FD limits


how to increase max fd

System level

  • sudo sysctl -w fs.file-max=100000
  • to survive the reboot: sudo vi /etc/sysctl.conf: fs.file-max = 100000

User level

  • sudo vi /etc/security/limits.conf:
    • uid soft nofile 4096
    • uid hard nofile 10240

VisualVM remote monitoring JVM

JMX set up for JVM argument



-Dcom.sun.management.jmxremote.port=8086
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

Wednesday, December 7, 2011

JVM GC tuning


HeapDump
-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/home/blah/pid.hprof




Monday, December 5, 2011

nginx load balance


http {
 upstream mylb {
   server 127.0.0.1:9999;
   server 127.0.0.1:9998;
  }

  server {
   proxy_pass http://mylb
  }
}