Mitschrift bei der Installation des Servers. Dient lediglich als Gedankenstütze.
als root auf dem server:
MySql - jars für tomcat-jdbc von local auf den server kopieren:
Die Rewrite anleitung beschreibt das Forwarding auf https.
Zunächst wird hier nur eine einfache Weiterleitung von / auf https vorgenommen:
blogspot und experience
Füge zwischen dem letzten </Directory> und dem abschließenden </VirtualHost> folgende Zeile ein:
Repository vom Bitbucket initial clonen:
Vorher db anlegen und user anlegen! (evlt. schon passiert, s.o. MySql)
http://secondlight.blogspot.com/2011/04/its-time-to-have-some-bug-tracking.html
Für trac selbst wird subversion benutzt, zum browsen unseres repos brauchen wir aber mercurial. Unsere Coordinaten für die DB: mysql://trac:e...88@localhost:3306/tracabado
Folgendes einfügen:
Allgemeines
FÜR Mac ssh-copy-id installieren:sudo bash -c "cvs -d anoncvs@anoncvs.mindrot.org:/cvs \ get -p openssh/contrib/ssh-copy-id > /usr/local/bin/ssh-copy-id" sudo chmod +x /usr/local/bin/ssh-copy-idssh-login:
ssh <firstname>@<servername> less /proc/cpuinfo less /proc/meminfo uname -aHilfe:
https://help.ubuntu.com/10.04/index.htmlBenutzer anlegen:
als root auf dem server:
adduser <user> adduser <user> sudoLocal den key auf dem server schieben:
sudo /usr/local/bin/ssh-copy-id -i ~/.ssh/id_dsa.pub <user>@<server>Local weitere files auf den server schieben:
cd download scp energiemanager.sql <user>@<server>:/home/<user>/ cd /Users/<user>/Programs/server/apache-tomcat-6.0.20/lib scp mysql-connector-java-5.1.13.jar <user>:<server>/home/<user> scp c3p0-0.9.1.2.jar <user>@<server>:/home/<user>/Weitere keys für die Benutzer installieren ( auf username@server:~$) :
cd .ssh touch authorized_keys chmod 644 authorized_keys cat ../id_dsa.pub >> authorized_keys rm ../id_dsa.pub vim/etc/ssh/ssh_config # PasswordAuthentication? yes
Java 6
sudo vim /etc/apt/sources.list deb http://archive.canonical.com/ubuntu lucid partner deb-src http://archive.canonical.com/ubuntu lucid partner sudo apt-get update sudo apt-get install sun-java6-jdk
My Sql
sudo apt-get install mysql-server mysql -u <user> -p root e...&88 tomcat tomcate...88UTF-8 einstellen: in /etc/mysql/conf.d/character.cnf (oder <irgendeinname>.cnf)
[mysqld] character-set-server=utf8 collation-server=utf8_general_ci character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysql] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqladmin] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlcheck] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqldump] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlimport] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8 [mysqlshow] character-sets-dir=/usr/share/mysql/charsets default-character-set=utf8Benutzer und Datenbanken einrichten:
mysql>GRANT ALL PRIVILEGES ON *.* TO 'tomcat'@'localhost' IDENTIFIED BY 'tomcate...88' WITH GRANT OPTION; mysql>GRANT ALL PRIVILEGES ON *.* TO 'trac'@'localhost' IDENTIFIED BY 'e...88' WITH GRANT OPTION; mysql>create database energiemanager CHARACTER SET utf8 COLLATE utf8_general_ci; mysql>create database tracabado CHARACTER SET utf8 COLLATE utf8_general_ci; mysql>create database tracsandbox CHARACTER SET utf8 COLLATE utf8_general_ci; mysql>quit;Datenbank initial einspielen:
mysql -u tomcat -p <dbname> < ~/<script>.sqlPasswort ändern:
mysql> UPDATE mysql.user SET Password=PASSWORD('') WHERE User='admin'; mysql> FLUSH_PRIVILEGES;!Mysql infos:
mysql>SHOW DATABASES; -> zeigt alle DB mysql>USE test; -> schaltet auf DB 'test' mysql>status; -> zeigt infos, unter anderem den Zeichsatz vom server und client! mysql>show variables like '%character%'; mysql>show variables like '%collation%'; mysqladmin version -u admin -> uptime
Tomcat
sudo apt-get install tomcat6 sudo apt-get install tomcat6-admin sudo vim etc/tomcat6/tomcat-users.xml
-> add user with role "manager, admin" (tomcat, e...88)/mangager/html UND /host-manager/html
MySql - jars für tomcat-jdbc von local auf den server kopieren:
local>scp mysql-connector-java-5.1.13.jar <user>@<server> local>scp c3p0-0.9.1.2.jar <user>@<server>:/home/<user>/
!Mysql-connector-java-5.1.13.jar ins tomcat/lib Verzeichnis kopieren (/user/share/java) C3p0.jar Bibilothek ins tomcat/lib Verzeichnis kopieren (/user/share/java)
make alias to this files in /usr/share/tomcat6/lib$ :JDBC in /etc/tomcat6/context.xml:
cd /usr/share/tomcat6/lib sudo ln -s ../../java/mysql-connector-java-5.1.13.jar mysql-connector-java-5.1.13.jar sudo ln -s ../../java/c3p0-0.9.1.2.jar c3p0-0.9.1.2.jar
<Resource name="jdbc/abado" auth="Container" description="... Database" driverClass="com.mysql.jdbc.Driver" maxPoolSize="4" minPoolSize="2" acquireIncrement="1" maxIdleTime="3600" idleConnectionTestPeriod="3600" preferredTestQuery="Select 1;" user="tomcat" password="tomcate...88" factory="org.apache.naming.factory.BeanFactory" type="com.mchange.v2.c3p0.ComboPooledDataSource" jdbcUrl="jdbc:mysql://localhost:3306/<projname>?autoReconnect=true" />in /etc/default/tomcat6 folgende Einstellungen vornehmen:
JAVA_OPTS="$JAVA_OPTS -Xms1024m -Xmx2048m -XX:MaxPermSize=512m -XX:PermSize=128m" JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:ParallelGCThreads=4" JAVA_OPTS="-Djavax.servlet.request.encoding=UTF-8 -Djavax.servlet.response.encoding=UTF-8 -Dfile.encoding=UTF-8 $JAVA_OPTS" JAVA_OPTS="${JAVA_OPTS} -DJENKINS_HOME=/var/opt/jenkins/" JAVA_OPTS="${JAVA_OPTS} -Dlog4j.configuration=log4j_server.properties"Hinweis:
CATALINA_HOME in /usr/share/tomcat6 CATALINA_BASE in /var/lib/tomcat6Automatisches Forwarding von / auf /energiemanager durch anlegen von ROOT.xml funktioniert nicht. Alternatives forwarding: in /var/lib/tomcat6/webapps/ROOT die datei index.jsp anlegen mit dem Inhalt:
<% String destination ="/<project-name>"; response.sendRedirect(response.encodeRedirectURL(destination)); %>und
sudo mv /var/lib/tomcat6/webapps/ROOT/index.html /var/lib/tomcat6/webapps/ROOT/index.html.org
Apache Webserver
Installation siehe Ubuntu-Anleitung (z.B. http://help.ubuntu.com/10.04/serverguide/C/httpd.html).Die Rewrite anleitung beschreibt das Forwarding auf https.
Zunächst wird hier nur eine einfache Weiterleitung von / auf https vorgenommen:
DocumentRoot /var/www <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride FileInfo Order allow,deny allow from all RedirectMatch ^/$ https://<servername>/energiemanager </Directory>
mod-jk
Anleitung unterblogspot und experience
sudo apt-get install libapache2-mod-jk(Ubuntu lädt bei der Installation den Connector automatisch als Apache2-Modul)
sudo vim /etc/libapache2-mod-jk/workers.properties workers.tomcat_home = /usr/share/tomcat6 workers.java_home = /usr/lib/jvm/java-6-sun
Füge zwischen dem letzten </Directory> und dem abschließenden </VirtualHost> folgende Zeile ein:
sudo vi /etc/apache2/sites-enables/default JkMount /* ajp13_worker
sudo vi /etc/apache2/mods-available/jk.load
Füge am Ende folgende Zeilen hinzu:In Zeile 93-95 folgendes einkommentieren und den aktiven connector auskommentieren:
JkWorkersFile /etc/libapache2-mod-jk/workers.properties JkLogFile /var/log/apache2/mod_jk.log JkLogLevel error
sudo vi /etc/tomcat6/server.xml <!-- <Connector port =”8009” protocol=”AJP/1.3” redirectPort= “8443” /> -->Tomcat und Webser neu starten
sudo /etc/init.d/apache2 restart sudo /etc/init.d/tomcat6 restart
Mercurial / BitBucket
Damit mercurial, dass hier als www-data ausgeführt wird, auf bitbucket (lesend) zugreifen kann:sudo vim /etc/sudoers ##sudo -u www-data <command> www-data ALL=(ALL) NOPASSWD:ALLSsh-Key anlegen für www-data user:
sudo mkdir /var/www/.ssh sudo chown www-data:www-data /var/www/.ssh sudo -u www-data ssh-keygen -t dsa-> account bei bitbucket anlegen für abadoserver -> anmelden und key hochladen
Repository vom Bitbucket initial clonen:
cd /var/opt/repo sudo -u www-data hg clone ssh://hg@bitbucket.org/<user>/<projectmanager>
Trac
Trac 0.12 ist nicht über apt zu installieren, brauchen wir aber für mercurial. Um trac 0.12 zu installieren (mercurial anbindung buggy in 0.11):Vorher db anlegen und user anlegen! (evlt. schon passiert, s.o. MySql)
http://secondlight.blogspot.com/2011/04/its-time-to-have-some-bug-tracking.html
Für trac selbst wird subversion benutzt, zum browsen unseres repos brauchen wir aber mercurial. Unsere Coordinaten für die DB: mysql://trac:e...88@localhost:3306/tracabado
sudo mkdir /var/opt/repo sudo svnadmin create /var/opt/repo/abado sudo vim /etc/apache2/sites-available/default <Location /trac> AuthType Basic AuthName "Trac fuer den Energiemanager" AuthUserFile /var/opt/trac/.htpasswd Require valid-user </Location> sudo chown -R www-data:www-data /var/opt/trac sudo chown -R www-data:www-data /var/opt/repoTrac als Standalone testen:
tracd --port 8000 /var/opt/trac/abadoConfigure Apache2 for trac (wsgi einbinden)
sudo trac-admin /var/opt/trac/abado deploy /usr/lib/cgi-bin/ sudo vim /etc/apache2/sites-available/default #Trac as WSGI on Apache #extra info on http://trac.edgewall.org/wiki/TracModWSGI #info about daemon mode http://code.google.com/p/modwsgi/ # http://code.google.com/p/modwsgi/wiki/IntegrationWithTrac WSGIScriptAlias /trac /usr/lib/cgi-bin/trac/cgi-bin/trac.wsgi <Directory /var/opt/trac/cgi-bin> WSGIApplicationGroup %{GLOBAL} Order deny,allow Allow from all </Directory> JkMount /* ajp13_worker JkUnMount /trac* ajp13_workerOne of your users (merten in this example) should have access to the web admin panel:
sudo trac-admin /var/opt/trac/a..o permission add merten TRAC_ADMINInstall TOC plugin (Zum Anzeigen eines Inhaltsverzeichnisses:
sudo easy_install http://trac-hacks.org/svn/tocmacro/0.11 sudo vim /etc/opt/trac/abado/trac.iniSiehe auch Toc Macro
Folgendes einfügen:
[components] tractoc.* = enabledB
sudo easy_install https://trac-hacks.org/svn/accountmanagerplugin/trunkOptional Install more apt-get package for trac plugins later
sudo apt-get install build-essential graphviz sudo apt-get install htmldoc sudo apt-get install enscript sudo easy_install -U setuptools
Maven
Maven3 ist noch nicht in den offiziellen Quellen für Ubuntu vorhanden, daher maven2:sudo apt-get install maven2HINWEIS: Das Plugin unter Jenkins benutzt aber bereits Maven 3.0.3
Jenkins
/etc/default/tomcat6JAVA_OPTS="${JAVA_OPTS} -DJENKINS_HOME=/var/opt/jenkins/"Verzeichnis anlegen und rechte setzen:
sudo mkdir /var/opt/jenkins sudo chown tomcat6:tomcat6 /var/opt/jenkinstomcat6 - Maven-Verzeichnisse erstellen, Rechte setzen und Schlüssel für den BitBucket-Zugriff einrichten (=Key von Trac-Zugriff)
sudo cp -R /var/www/.ssh/ /usr/share/tomcat6/ sudo chown -R tomcat6:tomcat6 /usr/share/tomcat6/.ssh/ sudo mkdir /usr/share/tomcat6/.m2 sudo chown -R tomcat6:tomcat6 /usr/share/tomcat6/.m2
Todo
vor einem Lifegang:- Security: Server, auf dem nur Tomcat / Apache / MySql läuft. Siehe die entsprechenden Seiten für Live-Configuration.
- Alle user mit pwd einrichten, siehe: http://dev.mysql.com/doc/refman/5.1/de/default-privileges.html
- Trac user in db darf nur trac* databases sehen und bearbeiten
Keine Kommentare:
Kommentar veröffentlichen