Installation of Baikal on Ubuntu

 IT  Kommentare deaktiviert für Installation of Baikal on Ubuntu
Jun 252014
 

Before installing Baikal, we should ensure, that we will meet the requirements for Baikal:

  • an hosted webserver running apache 2 and PHP 5.3.0
  • PHP 5.3.1 or newer with the following extensions:
    • PDO and SQLite3 or MySQL
    • DOM (php-xml)

On Ubuntu you can install the following packages to meet the requirements:

sudo apt-get install mysql-server php5 php5-mysql

The Package php5-mysql contains the PDO libraries.

After you have installed the packages, you should setup a database and a database user for baikal. Login to mysql with root user to create the DB and the User:

mysql -u root -p


mysql> create database baikal;
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| baikal             |
| database           |
| mysql              |
| performance_schema |
+--------------------+
5 rows in set (0.00 sec)


mysql> create user 'baikalUser'@'localhost' identified by  'baikalPassword';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on baikal.* to ‘baikalUser'@'localhost’;
Query OK, 0 rows affected (0.00 sec)

Now let’s check if the user has the necessary rights, by doing a login, open the database and do a select:

philipp@eliteX:/var/www/html/baikal$ mysql -u baikalUser -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 48
Server version: 5.5.37-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| baikal             |
+--------------------+
2 rows in set (0.00 sec)

mysql> use baikal;
Database changed
mysql> show tables;
Empty set (0.00 sec)

After the database and user is ready, we can extract the package to our web-root/baikal. After you have extracted the package, open the location in a web browser:

http://<yourServer>/<path_to_baikal>

In the first step, you need to setup basic things like timezone, admin user, etc.

In the second step insert the necessary data for the database configuration (you do not need to insert the port number if you are using the default-port):

Baikal Installation

Baikal Installation

The Installation is done, you should now be able to login to baikal with your admin-user:

http://<yourServer>/<path_to_baikal>

 

Next steps:

Using SVN in Ant

 IT, Java  Kommentare deaktiviert für Using SVN in Ant
Jun 062014
 

In my current ant-script I need to get the SVN revision to insert that info into the deployment-package.

There are three commands available.

svn info is the first one:

D:\Projekte\workspace\myCode >svn info
Pfad: .
URL: https://svn.xxx.xx/abc/def/
Basis des Projektarchivs: https://svn.svn.xxx.xx/abc/def/
UUID des Projektarchivs: hidden
Revision: 12955
Knotentyp: Verzeichnis
Plan: normal
Letzter Autor: pbo
Letzte geänderte Rev: 12859
Letztes Änderungsdatum: 2014-05-21 10:10:14 +0200 (Mi, 21. Mai 2014)

The Revision is the current Revision of the Repository (that means, that if you checkin some changes now, you will get the Revsion 12955+1). The „Letzte geänderte Rev“ (last changed revision) ist the one which was assigned on the last commit/checkin. This is the revision of code that is checked in on the repository. This format is diffiult to handle in ant, that’s the reason why I present another solution:

svnversion

svnversion without any parameter will display the revsion of the repositry:

D:\Projekte\workspace\myCode>svnversion
12955M

„M“ means, that the local code has changed (modified). If you need the latest commited revision, you can append the parameter „-c“:

D:\Projekte\workspace\myCode>svnversion -c
11789:12859M

The firs number is the revision that was assigned during first checkin of this project / path. The second number is the revision of the latest commit. There is also a third solution:

svn log

With the svn command with the log parameter you are able to see the commit-messages. With some parameters you can display only the latest commit, including revsion number, date and author:

D:\Projekte\workspace\myCode>svn log -r COMMITTED -q
------------------------------------------------------------------------
12859| pbo | 2014-05-21 10:10:14 +0200 (Mi, 21. Mai 2014)
------------------------------------------------------------------------

How to use this in ant:

<target name="svnversion">
	<exec executable="svnversion" outputproperty="svnversion" />
	<echo message="SVN Version: ${svnversion}" />
</target>

Results in:

Buildfile: D:\Projekte\workspace\myCode\svn.xml
svnversion:
     [echo] SVN Version: 129555M
BUILD SUCCESSFUL
Total time: 834 milliseconds

 

<target name="svnLog">
	<exec executable="svn" outputproperty="lastCommittedRevision">
		<arg value="log" />
		<arg value="-r" />
		<arg value="COMMITTED" />
		<arg value="-q" />
	</exec>
	<echo message="lastCommittedRevision = " />
	<echo message="${lastCommittedRevision}" />
</target>

Results in:

Buildfile: D:\Projekte\workspace\myCode\svn.xml
svnLog:
     [echo] lastCommittedRevision = 
     [echo] ------------------------------------------------------------------------
     [echo] r12859 | pbo | 2014-05-21 10:10:14 +0200 (Mi, 21. Mai 2014)
     [echo] ------------------------------------------------------------------------
BUILD SUCCESSFUL
Total time: 1 second

 

Installation von FFP auf NSA310 V4.70

 IT  Kommentare deaktiviert für Installation von FFP auf NSA310 V4.70
Jun 032014
 

Da bei der Installation von FFP auf meiner Zyxel NSA310 doch einige Probleme auftauchten, möchte ich hier die Lösung beschreiben.

Situation: NSA310 mit Firmware V4.70 ohne FFP.

Ich ging nach dieser Anleitung vor: http://zyxel.nas-central.org/wiki/FFP_as_zypkg

Ich versuchte es erst über die Paketinstallation indem ich im entsprechenden Verzeichnis die web_prefex Datei anlegte und darin dieses Ziel setzte: ftp://ftp.zyxel-tech.de/.

Nachdem ich anschließend meine Paketliste in der Weboberfläche neu geladen hatte, wurde das FFP Paket dennoch nicht angezeigt. Also schnell einen Blick auf den FTP geworfen und festgestellt, dass in diesem Verzeichnis ftp://ftp.zyxel-tech.de/NSA310/4.70/zypkg/ das FFP Paket enthalten war. Allerdings fiel mir auf, dass in der Datei „ZYPKGS“das Paket FFP nicht beschrieben war. Vermutlich lag es daran.

FFP mit fehlerhafter ZYPKGS

Mir ist aufgefallen, dass es ein parallels Directory auf dem FTP gibt, mit dem Stand von Januar 2014. Dort schnell in die ZYPKGS-Datei reingeschaut und gesehen, dass dort ein Abschnitt zum FFP vorhanden war:

korrekte ZYPKGS

Ich habe dann alle Files aus dem richtigen FTP-Zweig (nicht der von Januar, sondern ftp://ftp.zyxel-tech.de/NSA310/4.70/zypkg/) auf mein NSA kopiert (quasi das Repository lokal verfügbar gemacht) indem ich alle Files heruntergeladen habe und in das Verzeichnis //nsa310/admin/zy-pkgs/ kopiert habe. Unter Linux geht das herunterladen bequem mit dem Command:

wget -r --no-parent ftp://ftp.zyxel-tech.de/NSA310/4.70/zypkg/

Zusätzlich aber noch die richtige ZYPKGS Datei aus dem Verzeichnis mit dem Stand von Januar (ftp://ftp.zyxel-tech.de/NSA310/4.70/zypkg_02012014/) heruntergeladen. Diese Datei enthält den Eintrag für das FFP Paket. Diesen Eintrag habe ich via Texteditor und Copy&Paste in der Datei in meinem lokalen Repository eingefügt.

Nun muss nur noch dafür gesorgt werden, dass der „Paketmanager“ nicht das Repository aus dem Netz nutzt, sondern das lokal kopierte. Dazu muss eine Datei web_prefex angelegt werden (falls noch nicht vorhanden) und darin der Verweis auf das lokale Repository gemacht werden. Dazu folgende Zeile in das File schreiben:

smb://nsa310/admin/zy-pkgs/

Damit verweist ihr auf das lokale Repository. Das müsste nun in etwa die folgende Struktur haben (abgesehen vom ffp-Ordner, welcher erst mit der Installation von FFP erzeugt wird):

Lokales Repository

Anschließend wird im Paketmanager das FFP Paket angezeigt und auch korrekt installiert. Ab jetzt seid ihr in der Lage per ssh auf eure NSA zu gelangen(Passwort ist das Admin-Passwort der Weboberfläche):

ssh admin@nsa310  // oder : ssh root@nsa310

Um nun wieder korrekt Updates von den Paketen zu erhalten, solltet ihr wieder auf das richtige Repository switchen. Dazu einfach die zpkg-Files, das web_prefex File und das ZYPKGS-File entfernen und im Paketmanager auf der Weboberfläche einen Refresh der Paketquellen machen.

Kleiner Hinweis: Nach dem Refresh fehlt euch dieser Eintrag (da FFP ja in den offiziellen Paketquellen nicht im ZYPKGS-File enthalten ist), somit seht ihr auch den Link nicht mehr. Legt euch für diesen Link also am besten ein bookmark an:

Link FFP

http://nsa310/pkg/ffp/

Zusammenfassung

Das Problem war letztlich, dass das ZYPKGS File welches auf dem FTP liegt, keinen Eintrag für das FFP Paket enthielt. Damit konnte es nicht installiert werden. Dadurch, dass wir uns ein lokales Repository angelegt haben, waren wir in der Lage den korrekten FFP Eintrag in dem ZYPKGS File nachzutragen.

Viel Spaß mit FFP.