OwnCloud Modifikationen

You are viewing an old revision of this post, from February 4, 2015 @ 15:48:47. See below for differences between this version and the current revision.

openLDAP (mit TLS)
siehe LDAPopen Doku
Bei 64 BIT "./configure --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib64 --includedir=/usr/include  --enable-slapd=no --enable-backends=no --with-tls"
"make"
"make install"
"ln -s /usr/lib64/ldap* /usr/lib/"

PHP (mit SSL/TLS und LDAP)
siehe PHP Doku
"./configure --with-mysql=/usr --with-apxs2=/usr/local/apache2/bin/apxs --enable-mod-charset --with-openssl=/usr --with-zlib --enable-calendar --enable-mbstring --enable-zip --with-gd --with-ldap=/usr --with-ldap-sasl --with-gettext --with-imap-ssl --with-pdo-mysql=/usr --with-libdir=lib64 --with-ldap --with-kerberos"
ab Version 5.4.11 "./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache2/bin/apxs --enable-mod-charset --with-openssl --with-zlib --enable-calendar --enable-mbstring --enable-zip --with-gd --with-gettext --with-ldap-sasl --with-pdo-mysql=/usr/local/mysql -with-libdir=lib64 --with-ldap --with-kerberos"
Version 5.4.11 experimental "./configure --with-mysql --with-apxs2=/usr/local/apache2/bin/apxs --enable-mod-charset --with-openssl --with-zlib --enable-calendar --enable-mbstring --enable-zip --with-gd --with-gettext --with-ldap-sasl --with-pdo-mysql=/usr/local/mysql --with-mcrypt --with-kerberos --with-ldap --with-curl"

TLS:

ownuser
"wget http://ownuser.org"
"tar -xf ownuser-2.tar.tar"
"mv ownuser /usr/local/apache2/htdocs"
"chown -R daemon:daemon  /usr/local/apache2/htdocs"
"lynx http://wdf-user01/ownuser"
Installation via Browser. (/var/run/mysql/mysql.sock muß vorhanden sein)
Ggf. die "vi /usr/local/apache2/htdocs/realuser/ownuser/config/config.php" anpassen. Seit Version 4.5.5 wird ein user "oc_root" erstellt der natürlich nativ auf der Datenbank nicht existiert. Also abändern in root währen der Installation
Bei DB am bestenm die IP eintragen (127.0.0.1)

#Infos##########################################################
Hochgeladene Files liegen unzer: .apache2..htdocs../ownuser/data/root/files/

#Fazit########################################################
1. Im Internet Explorer sind alle Kästchen verschoben. Design sieht suboptimal aus.
2. Plus basiert Nativ auf Apapche,PHP und MySQL (Hohe Perfomance und Skalierbarkeit)
3. Hochgeladene Dateien liegen auf OS Ebene
4. WebDAV geht out of the Box (auch mit SSL)
5. Dateien können nicht mit LDAP Usern geshared werden http://apps.ownuser.com/content/show.php?action=knowledgebase&content=0&kbid=725
6. Android(ownuser Client) und iOS(WebDAV) funktionieren auch nicht.
7. Performance sehr langsam. Dauer für 6MB ca. 5 Min. . Upload noch sehr Buggi


#Info##############################
LDAP Zugrif auf M$ ADS = "ldapsearch -x -b "OU=wdf,DC=de,DC=domain,DC=net" -D "CN=_ldapread,OU=Groups-Systemuser,OU=wdf,DC=de,DC=domain,DC=net"  -h 10.0.0.33 -p 389 -W"
DE Domain: "ldapsearch -x -b "DC=de,DC=domain,DC=net" "cn=Schneider, Brian" "homeDirectory" -D "CN=_ldapread,OU=Groups-Systemuser,OU=wdf,DC=de,DC=domain,DC=net"  -h 10.0.0.33 -p 389 -W" = Suche nach User mit Home Directory
US Domain: "ldapsearch -x -b "DC=us,DC=domain,DC=net" "cn=Milano, David" "homeDirectory" -D "CN=_ldapread,CN=Users,DC=us,DC=domain,DC=net"  -h 10.6.0.32 -p 389 -W"
Pass: passwort
WebDAV Test = curl -X PROPFIND -u root:DidHvNunvW! -i http://wdf-user01/ownuser/files/webdav.php
Darauf achten das die Namen der User klein geschrieben sind "SELECT * FROM `ownuser`.`oc_users`;" da eventuel sonst der Kalender und das Adressbuch nicht korrekt funktionieren.
"NET USE * https://realuser.domain.com/files/webdav.php /USER:user.user@domain.net /persistent:yes" = Net use Befehl für Windows Anmelde Script.

#ownuser 2.X an M$ ADS##################################################################################
wie oben beschrieben erst mal PHP mit LDAP und SSL/TLS kompilieren.
dann im ownuser Code rumbasteln.
"vi /usr/local/apache2/htdocs/ownuser/apps/user_ldap/user_ldap.php"
Zeile 67 und 68 abändern (TLS start verhindern:
                                 if(ldap_set_option($this->ds, LDAP_OPT_REFERRALS, 0));
                                          #ldap_start_tls($this->ds);

ab Zeil 90 den Standard filter ausschalten und das ldap_search umbauen										  
	// get dn
                #$filter = str_replace("%uid", $uid, $this->ldap_filter);
                #$sr = ldap_search( $this->getDs(), $this->ldap_base, $filter );

                        $dn = "DC=de,DC=domain,DC=net";
                        #$filter="(cn=_ldapread)";
                        #$filter="(mail=$uid)";
                        $filter="(userPrincipalName=$uid)";
                        $justthese = array( "ou", "sn", "vorname", "mail");
                        $sr=ldap_search($ds, $dn, $filter, $justthese);

                $entries = ldap_get_entries( $this->getDs(), $sr );
###################################################################################################################

#ownuser 4.5.6 an M$ ADS##################################################################################
"vi /usr/local/apache2/htdocs/realuser/apps/user_ldap/lib/connection.php" -> "//ldap_start_tls($this->ldapConnectionRes);" Auskommentieren Zeile 338

	$this->ldapConnectionRes = ldap_connect($this->config['ldapHost'], $this->config['ldapPort']);
			if(ldap_set_option($this->ldapConnectionRes, LDAP_OPT_PROTOCOL_VERSION, 3)) {
					if(ldap_set_option($this->ldapConnectionRes, LDAP_OPT_REFERRALS, 0)) {
						if($this->config['ldapTLS']) {
							//ldap_start_tls($this->ldapConnectionRes);
						}
###################################################################################################################

##ownuser 2.X##################################################################################################################
Passwort Check ab zeile 108 vi /usr/local/apache2/htdocs/ownuser/apps/user_ldap/user_ldap.php:

public function checkPassword( $uid, $password ) {
		if(!$this->configured){
				return false;
		}
		$dn = $this->getDn( $uid );
#################################################
#ToDo: Sobald das Passwort bekannt ist. SQL Connect in MySQL Datenbank und nach SHA1 umwandeln. 
$myFile = "/tmp/testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "$password \n";
fwrite($fh, $stringData);
fclose($fh);
################################################
		if( !$dn )
				return false;

		if (!@ldap_bind( $this->getDs(), $dn, $password ))
				return false;
		return $uid;

##ownuser 2.X##################################################################################################################
ADS User Check und MySQL Anbindung:

public function checkPassword( $uid, $password ) {
		if(!$this->configured){
			return false;
		}
		$dn = $this->getDn( $uid );
		#################################################
		system("/usr/local/apache2/htdocs/ownuser/apps/user_ldap/mysql_user_check $uid $password");
		system("/usr/local/apache2/htdocs/ownuser/apps/user_ldap/mount_home_share $uid $password");
		################################################
		if( !$dn )
			return false;

		if (!@ldap_bind( $this->getDs(), $dn, $password ))
			return false;
		return $uid;
###################################################################################################################

"ln -s /usr/local/lib/php.ini /usr/local/lib64/php.ini"

#php.ini Modifikationen###################################################################################################################
"vi /usr/local/lib/php.ini" -> Ubuntu apt-get Installation "vi /etc/php5/apache2/php.ini"
	max_execution_time = 9999
	max_input_time = 9999
	memory_limit = 1024M
	upload_max_filesize = 9999M
	post_max_size = 9999M
	ggf. output_buffering = 9216
	session.save_path = "/usr/local/apache2/htdocs/realuser/data/php_session_tmp"
	soap.wsdl_cache_dir="/usr/local/apache2/htdocs/realuser/data/php_session_tmp"
	upload_tmp_dir = "/usr/local/apache2/htdocs/realuser/data/php_session_tmp"
	default_charset = "UTF-8"
###################################################################################################################

#Apache Modifiaktion###################################################################################################################
"vi /usr/local/apache2/htdocs/ownuser/.htaccess" ->
	php_value upload_max_filesize 9999M
	php_value post_max_size 9999M

#Performance tuning in httpd.conf##
ServerLimit 9999
StartServers 20
MaxClients 1472
MinSpareThreads 25
MaxSpareThreads 999
Thre

Post Revisions:

Changes:

February 4, 2015 @ 15:48:47Current Revision
Content
<div class="html"><pre> <div class="html"><pre>
openLDAP (mit TLS)  
siehe LDAPopen Doku  
Bei 64 BIT &quot;./configure --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/usr/lib64 --includedir= /usr/include --enable-slapd=no --enable-backends=no --with-tls&quot;  
&quot;make&quot;  
  //Compile Command:
  //rm -frv mysql_user_check; clear; g++ -g -Wall -o mysql_user_check mysql_user_check.cpp -L/usr/lib64/mysql -lmysqlclient; ./mysql_user_check;
  //rm -frv mysql_user_check;clear; g++ -g -c -O2 -Wall -o sha1.o sha1.c ;g++ -g -c -O2 -Wall -o mysql_user_check.o mysql_user_check.cpp; g++ -Wall -g -o mysql_user_check mysql_user_check.o sha1.o -L/usr/lib64/mysql -lmysqlclient; ./mysql_user_check;
  //quick compile command: g++ -g -c -O2 -Wall -o mysql_user_check.o mysql_user_check.cpp; g++ -Wall -g -o mysql_user_check mysql_user_check.o sha1.o -L/usr/lib64/mysql -lmysqlclient;
  //TO DO:
  //Wenn nur ein Parameter &#252;bergeben wird, Abbruch verhindern.
  //Assert einbauen
  //via Samba Home Share mounten
  //LDAP Abgleichs Check welche AD User vailde sind und welche nicht und ggf. aus DB l&#246;schen.
  #include &lt;mysql/mysql.h&gt;
  #include &lt;stdio.h&gt;
  #include <span class="htmlTagDelimiter" >&lt;</span><span class="htmlElementName" >iostream</span><span class="htmlTagDelimiter" >&gt;</span>
  #include &lt;string.h&gt;
  #include &lt;stdlib.h&gt;
  #include <span class="htmlTagDelimiter" >&lt;</span><span class="htmlElementName" >vector</span><span class="htmlTagDelimiter" >&gt;</span>
  #include <span class="htmlTagDelimiter" >&lt;</span><span class="htmlElementName" >iomanip</span><span class="htmlTagDelimiter" >&gt;</span>
  #include <span class="htmlTagDelimiter" >&lt;</span><span class="htmlElementName" >cstdio</span><span class="htmlTagDelimiter" >&gt;</span>
  #include <span class="htmlTagDelimiter" >&lt;</span><span class="htmlElementName" >sstream</span><span class="htmlTagDelimiter" >&gt;</span>
&quot;make install&quot;  #include &quot;sha1.h&quot;
&quot;ln -s /usr/lib64/ldap* /usr/lib/&quot;  
PHP (mit SSL/TLS und LDAP)  
siehe PHP Doku  
&quot;./configure --with-mysql=/usr --with-apxs2= /usr/local/apache2/bin/apxs --enable-mod-charset --with-openssl=/usr --with-zlib --enable-calendar --enable-mbstring --enable-zip --with-gd --with-ldap=/usr --with-ldap-sasl --with-gettext --with-imap-ssl --with-pdo-mysql=/usr --with-libdir=lib64 --with-ldap --with-kerberos&quot;  
ab Version 5.4.11 &quot;./configure --with-mysql= /usr/local/mysql --with-apxs2= /usr/local/apache2/bin/apxs --enable-mod-charset --with-openssl --with-zlib --enable-calendar --enable-mbstring --enable-zip --with-gd --with-gettext --with-ldap-sasl --with-pdo-mysql= /usr/local/mysql -with-libdir=lib64 --with-ldap --with-kerberos&quot;  
Version 5.4.11 experimental &quot;./configure --with-mysql --with-apxs2= /usr/local/apache2/bin/apxs --enable-mod-charset --with-openssl --with-zlib --enable-calendar --enable-mbstring --enable-zip --with-gd --with-gettext --with-ldap-sasl --with-pdo-mysql= /usr/local/mysql --with-mcrypt --with-kerberos --with-ldap --with-curl&quot;  
TLS:  
ownuser  
&quot;wget http://ownuser.org&quot;  
&quot;tar -xf ownuser-2.tar.tar&quot;  
&quot;mv ownuser /usr/local/apache2/ htdocs&quot;  
&quot;chown -R daemon:daemon /usr/local/apache2/ htdocs&quot;  
&quot;lynx http://wdf-user01/ ownuser&quot;  
Installation via Browser. (/var/run/mysql/mysql.sock mu&#223; vorhanden sein)  
Ggf. die &quot;vi /usr/local/apache2/ htdocs/realuser/ ownuser/config/ config.php&quot; anpassen. Seit Version 4.5.5 wird ein user &quot;oc_root&quot; erstellt der nat&#252;rlich nativ auf der Datenbank nicht existiert. Also ab&#228;ndern in root w&#228;hren der Installation  
Bei DB am bestenm die IP eintragen (127.0.0.1)  
#Infos##########################################################  
Hochgeladene Files liegen unzer: .apache2..htdocs../ ownuser/data/root/files/  
#Fazit########################################################  
1. Im Internet Explorer sind alle K&#228;stchen verschoben. Design sieht suboptimal aus.  
2. Plus basiert Nativ auf Apapche,PHP und MySQL (Hohe Perfomance und Skalierbarkeit)  
3. Hochgeladene Dateien liegen auf OS Ebene  
4. WebDAV geht out of the Box (auch mit SSL)  
5. Dateien k&#246;nnen nicht mit LDAP Usern geshared werden http://apps.ownuser.com/ content/show.php?action= knowledgebase&amp; content=0&amp;kbid=725  
6. Android(ownuser Client) und iOS(WebDAV) funktionieren auch nicht.  
7. Performance sehr langsam. Dauer f&#252;r 6MB ca. 5 Min. . Upload noch sehr Buggi  
#Info##############################  
LDAP Zugrif auf M$ ADS = &quot;ldapsearch -x -b &quot;OU=wdf,DC= de,DC=domain,DC=net&quot; -D &quot;CN=_ldapread,OU= Groups-Systemuser,OU=wdf,DC= de,DC=domain,DC=net&quot; -h 10.0.0.33 -p 389 -W&quot;  
DE Domain: &quot;ldapsearch -x -b &quot;DC=de,DC= domain,DC=net&quot; &quot;cn=Schneider, Brian&quot; &quot;homeDirectory&quot; -D &quot;CN=_ldapread,OU= Groups-Systemuser,OU=wdf,DC= de,DC=domain,DC=net&quot; -h 10.0.0.33 -p 389 -W&quot; = Suche nach User mit Home Directory  
  using namespace std;
  int main(int argc, char *argv[])
  {
   //Via ARGV, Passwort aus PHP nach CPP &#252;bergeben.
  
   MYSQL *mysql_handle;
   MYSQL_RES *result;
   MYSQL_ROW row;
   char *query;
   int mysql_status_code;
   int reihen_nummer;
   int zellen_nummer;
   mysql_handle = mysql_init(NULL);
   //cout&lt;&lt;&quot;Mysql Handle: &quot;&lt;&lt; mysql_handle&lt;&lt;endl;
US Domain: &quot;ldapsearch -x -b &quot;DC=us,DC= domain,DC=net&quot; &quot;cn=Milano, David&quot; &quot;homeDirectory&quot; -D &quot;CN=_ldapread,CN= Users,DC=us,DC= domain,DC=net&quot; -h 10.6.0.32 -p 389 -W&quot;  //mysql_real_ connect(mysql_ handle,&quot; 127.0.0.1&quot; ,&quot;root&quot; ,&quot;Passwort!&quot;,&quot; test_datenbank&quot;,0,NULL,0);
Pass: passwort  
WebDAV Test = curl -X PROPFIND -u root:DidHvNunvW! -i http://wdf-user01/ ownuser/files/webdav.php  
Darauf achten das die Namen der User klein geschrieben sind &quot;SELECT * FROM `ownuser`.`oc_ users`;&quot; da eventuel sonst der Kalender und das Adressbuch nicht korrekt funktionieren.  
&quot;NET USE * https://realuser.domain.com/ files/webdav.php /USER:user.user@domain.net /persistent:yes&quot; = Net use Befehl f&#252;r Windows Anmelde Script.  
#ownuser 2.X an M$ ADS##################################################################################  
wie oben beschrieben erst mal PHP mit LDAP und SSL/TLS kompilieren.  
dann im ownuser Code rumbasteln.  
&quot;vi /usr/local/apache2/ htdocs/ownuser/apps/user_ ldap/user_ldap.php&quot;  
Zeile 67 und 68 ab&#228;ndern (TLS start verhindern:  
   mysql_real_connect( mysql_handle,&quot; 127.0.0.1&quot; ,&quot;root&quot; ,&quot;Passwort!&quot; ,&quot;owncloud3&quot;,0,NULL,0);
  
   //query=&quot;SELECT * FROM `owncloud3`.`oc_ users`;&quot;;
   //query=&quot;INSERT INTO `owncloud3`.`oc_users` (`uid`, `password`) VALUES ('USER', '60c6d277a8bd81de7fdde19201bf9c58a3df08f4');&quot;;
   //query=&quot;SELECT * FROM `owncloud3`.`oc_users` WHERE uid='test2';&quot;;
   //cout&lt;&lt;&quot;User: &quot;&lt;&lt; argv[1]&lt;&lt; &quot;\n&quot;;
  
   string user;
   user=argv[1];
   string password;
   password=argv[2];
   //cout&lt;&lt;&quot;USER: &quot;&lt;&lt; user&lt;&lt;&quot;\n&quot;;
   //cout&lt;&lt; &quot;Passowrd: &quot;&lt;&lt; password&lt;&lt; &quot;\n&quot;;
   string query_string;
   query_string = &quot;SELECT * FROM `owncloud3`.`oc_users` WHERE uid='&quot; + user + &quot;';&quot;;
   //query_string = &quot;INSERT INTO `owncloud3`.`oc_users` (`uid`, `password`) VALUES ('&quot; + user + &quot;', '&quot; + password + &quot;');&quot;;
   query = (char *) query_string.c_str();
  
   //cout&lt;&lt;&quot;SQL Query: &quot;&lt;&lt; query&lt;&lt;endl;
  
   mysql_status_ code=mysql_real_ query(mysql_ handle,query,(unsigned int) strlen(query));
   //cout&lt;&lt;&quot;mysql status code: &quot;&lt;&lt; mysql_status_ code&lt;&lt;endl;
  
if(ldap_set_option( $this-&gt;ds, LDAP_OPT_REFERRALS, 0));  if (mysql_status_code &gt; 0)
#ldap_start_tls( $this-&gt;ds);  
ab Zeil 90 den Standard filter ausschalten und das ldap_search umbauen   
// get dn  
#$filter = str_replace(&quot;%uid&quot;, $uid, $this-&gt;ldap_filter);  
#$sr = ldap_search( $this-&gt;getDs(), $this-&gt;ldap_base, $filter );  
$dn = &quot;DC=de,DC= domain,DC=net&quot;;  
#$filter=&quot; (cn=_ldapread)&quot;;  
#$filter=&quot; (mail=$uid)&quot;;  
$filter=&quot; (userPrincipalName= $uid)&quot;;  
$justthese = array( &quot;ou&quot;, &quot;sn&quot;, &quot;vorname&quot;, &quot;mail&quot;);  
$sr=ldap_search($ds, $dn, $filter, $justthese);  
$entries = ldap_get_entries( $this-&gt;getDs(), $sr );  
###################################################################################################################  
#ownuser 4.5.6 an M$ ADS##################################################################################  
&quot;vi /usr/local/apache2/ htdocs/realuser/apps/user_ ldap/lib/connection.php&quot; -&gt; &quot;//ldap_ start_tls($this- &gt;ldapConnectionRes);&quot; Auskommentieren Zeile 338  
$this-&gt;ldapConnectionRes = ldap_connect( $this-&gt;config['ldapHost'], $this-&gt;config['ldapPort']);  
if(ldap_set_option( $this-&gt;ldapConnectionRes, LDAP_OPT_PROTOCOL_VERSION, 3)) {  
if(ldap_set_option( $this-&gt;ldapConnectionRes, LDAP_OPT_REFERRALS, 0)) {  
if($this-&gt; config['ldapTLS']) {  
//ldap_start_ tls($this-&gt; ldapConnectionRes);  
   {
   //cout&lt;&lt; &quot;Fehler mit dem SQL Server: &quot;&lt;&lt; mysql_error(mysql_handle) &lt;&lt;endl;;
}  }
###################################################################################################################  
##ownuser 2.X##################################################################################################################  
Passwort Check ab zeile 108 vi /usr/local/apache2/ htdocs/ownuser/apps/user_ ldap/user_ldap.php:  
public function checkPassword( $uid, $password ) {  
if(!$this-&gt; configured){  
return false;  else
   {
   //cout&lt;&lt;&quot;Query erfolgreich !!&quot;&lt;&lt;endl;
}  }
$dn = $this-&gt;getDn( $uid );  
#################################################  
  
   result=mysql_ use_result(mysql_handle);
   //cout&lt;&lt;&quot;MYsql Result: &quot;&lt;&lt; result&lt;&lt;endl;
   //cout&lt;&lt;&quot;Filed count: &quot;&lt;&lt; mysql_field_count&lt;&lt; endl&lt;&lt;endl;
   for(reihen_nummer= 0;reihen_nummer&lt;=mysql_ field_count(mysql_handle) ;reihen_nummer++)
   {
   row=mysql_fetch_ row(result);
   //cout&lt;&lt;&quot;row: &quot;&lt;&lt; row&lt;&lt;endl;
   /*
   if(row==0)
   {
#ToDo: Sobald das Passwort bekannt ist. SQL Connect in MySQL Datenbank und nach SHA1 umwandeln.   cout&lt;&lt;&quot;Ende des Datenbank Inhalts !!&quot;&lt;&lt;endl;
$myFile = &quot;/tmp/testFile.txt&quot;;  
$fh = fopen($myFile, 'w') or die(&quot;can't open file&quot;);  
$stringData = &quot;$password \n&quot;;  
fwrite($fh, $stringData);  
fclose($fh);  
################################################  
if( !$dn )  
return false;  
if (!@ldap_bind( $this-&gt;getDs(), $dn, $password ))  
return false;  
return $uid;  
##ownuser 2.X##################################################################################################################  
ADS User Check und MySQL Anbindung:  
public function checkPassword( $uid, $password ) {  
if(!$this-&gt; configured){  
return false;  break;
}  }
   */
   /*
   for(zellen_nummer=0; zellen_nummer &lt; mysql_num_fields(result); zellen_nummer++)
   {
   cout&lt;&lt;&quot; Zelleninhalt: &quot;&lt;&lt; row[zellen_nummer]&lt;&lt;endl;
   //Check ob User Bereits in Datenbank, wenn ja nichts machen wenn nicht eintragen
   }
  
   cout&lt;&lt;endl;
   */
   if (row &gt; 0)
   {
   //cout&lt;&lt; &quot;Gefunden\n&quot;;
   //Wenn gefunden nichts machen
   exit(0);
   }
   else
   {
   //cout&lt;&lt;&quot;NICHT Gefunden\n&quot;;
   //Wenn nicht gefunden user anlegen. SHA1 Engine anbinden.
   //################################################################################################
   SHA1Context sha; //SHA1 wird initialisiert
   //char text[] = {&quot;user&quot;}; //Klartext String der berechnet werden soll
   char *text = {(char *) password.c_str()}; //Klartext String der berechnet werden soll
   //cout&lt;&lt;&quot;SHA1 Klartext: &quot;&lt;&lt; text&lt;&lt;endl;
$dn = $this-&gt;getDn( $uid );  int status = 0;
#################################################  
system(&quot; /usr/local/apache2/htdocs/ ownuser/apps/ user_ldap/mysql_user_check $uid $password&quot;);  
system(&quot; /usr/local/apache2/htdocs/ ownuser/apps/ user_ldap/mount_home_share $uid $password&quot;);  
   //cout&lt;&lt; &quot;Textlaenge: &quot;&lt;&lt; strlen(text)&lt;&lt;endl;
   status = SHA1Reset(&amp;sha);
   //cout&lt;&lt; &quot;SHA1Reset: &quot;&lt;&lt; status&lt;&lt;endl;
   status = SHA1Input(&amp;sha,(const unsigned char *) text, strlen(text)); //Klartext Daten werden berechnet
   //cout&lt;&lt; &quot;SHA1Input: &quot;&lt;&lt; status&lt;&lt;endl;
   uint8_t Message_Digest[20];
   //char Message_Digest[20];
   SHA1Result(&amp;sha, Message_Digest);
  
   string sha1_password;
   //###############################################
  
################################################   //###############################################
if( !$dn )  
return false;  
if (!@ldap_bind( $this-&gt;getDs(), $dn, $password ))  
return false;  
return $uid;  
###################################################################################################################  
&quot;ln -s /usr/local/lib/php.ini /usr/local/lib64/ php.ini&quot;  
#php.ini Modifikationen###################################################################################################################  
   for(int i = 0; i &lt; 20 ; ++i)
   {
   //printf(&quot;%02X&quot;, Message_Digest[i]); //Ausgabe des SHA1 Hashes
   //printf(&quot;%02X&quot;, Message_Digest[i]); //Ausgabe des SHA1 Hashes
   //cout &lt;&lt; &quot; 0x&quot; &lt;&lt; hex &lt;&lt; uppercase &lt;&lt; setprecision(2) &lt;&lt; setfill('0') &lt;&lt; setw(2) &lt;&lt; Message_Digest[i];
   //cout &lt;&lt; &quot; 0x&quot; &lt;&lt; hex &lt;&lt; uppercase &lt;&lt; Message_Digest[i];
   //cout&lt;&lt; i&lt;&lt;endl;
   //cout&lt;&lt; Message_Digest[i];
   //password_vector.push_ back(reinterpret_ cast&lt;const char*&gt;(Message_ Digest[i]));
   //password_vector.push_back((const char*)Message_Digest[i]);
   //cout&lt;&lt; hex&lt;&lt;Message_Digest[i];
   //printf(&quot;%s&quot;, Message_Digest[i]);
   //cout &lt;&lt; &quot;0x&quot; &lt;&lt; setfill('0') &lt;&lt; setw(2) &lt;&lt; hex &lt;&lt; Message_Digest[i] &lt;&lt; endl;
   //char_pass = Message_Digest[i];
   //strcat(char_pass,(char *)Message_Digest[i]);
   //(void)Uart2_ Transmit(*char_ pass,30,NULL);
   //memcpy (char_pass,Message_ Digest[i],strlen(Message_ Digest[i]));
   //Message_Digest[i] = ($ID.text-&gt;chars);
   //typeName.append(1,*widget);
   //Message_Digest[i] = new char char_pass[Message_Digest[i]];
   //cout&lt;&lt; Message_Digest[i];
   //cout &lt;&lt; (unsigned int)Message_Digest[i];
&quot;vi /usr/local/lib/ php.ini&quot; -&gt; Ubuntu apt-get Installation &quot;vi /etc/php5/apache2/ php.ini&quot;  //cout &lt;&lt;hex&lt;&lt; (unsigned int)Message_Digest[i]; //So geht die Ausgabe auch
max_execution_time = 9999  
max_input_time = 9999  
memory_limit = 1024M  
upload_max_filesize = 9999M  
post_max_size = 9999M  
ggf. output_buffering = 9216  
session.save_path = &quot;/usr/local/ apache2/htdocs/ realuser/data/ php_session_tmp&quot;  
soap.wsdl_cache_ dir=&quot;/usr/ local/apache2/ htdocs/realuser/data/php_ session_tmp&quot;  
upload_tmp_dir = &quot;/usr/local/ apache2/htdocs/ realuser/data/ php_session_tmp&quot;  
default_charset = &quot;UTF-8&quot;  
  
   ostringstream sha1_dezimal;
   sha1_dezimal &lt;&lt; hex &lt;&lt; (unsigned int)Message_Digest[i];
   sha1_password.append( sha1_dezimal.str());
   /*
   std::stringstream ConvertStream;
   ConvertStream&lt;&lt; (unsigned int)Message_Digest[i];
   ConvertStream&gt; &gt;password;
   */
   }
   //cout&lt;&lt; sha1_password&lt;&lt;endl;
   //cout &lt;&lt; &quot;0x&quot; &lt;&lt; setfill('0') &lt;&lt; setw(2) &lt;&lt; hex &lt;&lt; 10 &lt;&lt; endl;
   //printf(&quot;%02X&quot;, Message_Digest[19]);
   //password = Message_Digest[19];
   //cout&lt;&lt; password[19]&lt;&lt;endl;
   //cout&lt;&lt; Message_Digest[19]&lt;&lt;endl;
###################################################################################################################   //################################################################################################
#Apache Modifiaktion###################################################################################################################  
&quot;vi /usr/local/apache2/ htdocs/ownuser/ .htaccess&quot; -&gt;  
php_value upload_max_filesize 9999M  
php_value post_max_size 9999M  
#Performance tuning in httpd.conf##  
ServerLimit 9999  
StartServers 20  
MaxClients 1472  
MinSpareThreads 25  
MaxSpareThreads 999  
  
   query_string = &quot;INSERT INTO `owncloud3`.`oc_users` (`uid`, `password`) VALUES ('&quot;+ user +&quot; ', '&quot; + sha1_password +&quot;');&quot;;
   query = (char *) query_string.c_str();
   mysql_status_ code=mysql_real_ query(mysql_ handle,query,(unsigned int) strlen(query));
   exit(0);
   }
  
   }
  
   mysql_close(mysql_handle);
  
   //Home Shares via Samba in User Verzeichnis mounten.
   //Kommando: mount -t cifs //wdf-filer02/user$ //usr/local/apache2/ htdocs/owncloud/ data/user.user\@domain.net/ files/home_share/ -o user=user,uid=daemon
   //schauen ob homeshare schon gemounted.
  
   //system(&quot;mount -t cifs //wdf-filer02/user$ //usr/local/apache2/ htdocs/owncloud/ data/user.user\@domain.net/ files/home_share/ -o user=user,uid= daemon&quot;);
  
  }
Thre</pre></div>  </pre></div>

Note: Spaces may be added to comparison text to allow better line wrapping.