apt install git docker docker-compose maven mkdir myrepos cd myrepos # you need proxy for git,docker and wget ? # git config --global http.proxy http://myproxy:3128 # git config --global https.proxy http://myproxy:3128 # export https_proxy='myproxy:3128' # echo "HTTPS_PROXY=http://myproxy:3128" >>/etc/default/docker # echo "HTTP_PROXY=http://myproxy:3128" >>/etc/default/docker systemctl restart docker git clone https://github.com/Alfresco/acs-deployment.git cd acs-deployment-master/docker-compose wget https://borwinius.de/wiki/lib/exe/fetch.php?media=linux:alfresco:acs_dk-compose.tgz -O acs_dk-compose.tgz tar xvfz acs_dk-compose.tgz # im tgz sind javascript-,totp-,systemmessages-AMPs drin. # einmaliges Einsetzen des fqdn für SSl nötig sed -i -e 's|mysrv.my.dom.ain|meintollerServer.meineDomain.com|g' share/Dockerfile docker build share -t docker.io/alfresco/alfresco-share:23.4.1 -t docker.io/alfresco/alfresco-share-mytest:23.4.1 docker build repository -t alfresco/alfresco-content-repository-community:23.4.1 -t alfresco/acr-community-mytest:23.4.1
jetzt die Imagebezeichnungen und andere Einträge in compose.yaml
entsprechend abändern
sowie eigene Zertifikate konfigurieren.
compose.yaml:
alfresco: ... -Dshare.host=meintollerServer.meineDomain.com -Dshare.port=443 -Dshare.protocol=https -Dalfresco.host=meintollerServer.meineDomain.com -Dalfresco.port=8080 ... proxy: image: alfresco/alfresco-acs-nginx:3.4.2 environment: DOMAIN: "meintollerServer.meineDomain.com" USE_SSL: "true" ports: - "443:443" volumes: - /var/etc/nginx/ssl/meintollerServer.key:/etc/nginx/ssl/cert.key - /var/etc/nginx/ssl/meintollerServer.crt:/etc/nginx/ssl/cert.crt
dann probieren ob der Dockercontainer hochfährt.
docker-compose up
webseite: https://meintollerServer.meineDomain.com
acs_dk-compose.tgz
wie lange läuft der Alfresco schon?
ps -eo pid,comm,lstart,args | grep java
Solrwebseite:
https://localhost:8443/solr
Vorsicht ! soll neuen Index aufbauen:
http://localhost:8080/solr4/admin/cores?action=FIX http://localhost:8080/solr4/admin/cores?action=REINDEX&txid=1&acltxid=2&nodeid=3&aclid=4
../solr/bin/solr start -a "-Dcreate.alfresco.defaults=alfresco,archive"
apt install libreoffice imagemagick-6.q16hdri
start und restart der Datei localTransformationService.sh
anpassen:
... LOCAL_LIBREOFFICE=/usr/lib/libreoffice LOCAL_IMAGEMAGICK=/usr/lib/x86_64-linux-gnu/ImageMagick-6.9.11 ... nohup java -XX:MinRAMPercentage=30 -XX:MaxRAMPercentage=50 \ -DPDFRENDERER_EXE="$LOCAL_TRANSFORM_SERVICE_HOME/alfresco-pdf-renderer/alfresco-pdf-renderer" \ -DLIBREOFFICE_HOME="$LOCAL_LIBREOFFICE" \ -DIMAGEMAGICK_ROOT="$LOCAL_IMAGEMAGICK" \ -DIMAGEMAGICK_DYN="$LOCAL_IMAGEMAGICK" \ -DIMAGEMAGICK_EXE="/usr/bin/convert" \ -DIMAGEMAGICK_CODERS="$LOCAL_IMAGEMAGICK/modules-Q16HDRI/coders" \ -DIMAGEMAGICK_CONFIG="$LOCAL_IMAGEMAGICK/config-Q16HDRI" \ -DACTIVEMQ_URL="failover:(tcp://localhost:61616)?timeout=3000" \ -jar $LOCAL_TRANSFORM_SERVICE_HOME/bin/alfresco-transform-core-aio-boot-2.4.0.jar /tmp 2>> /dev/null >>/dev/null & echo $! > $PID_PATH_NAME ...
/usr/share/tomcat6/shared/alfresco/extension/license
verschieben.java -jar /opt/alfresco/bin/alfresco-mmt.jar list /opt/alfresco/tomcat/webapps/alfresco.war
Abfrage auf 20000 vergrößern: in Datei alfresco-global.properties
2 Zeilen einfügen und alfresco neustarten
Achtung! die Abfragen belasten das System
system.acl.maxPermissionChecks=20000 solr.query.maqximumResultsFromUnlimitedQuery=20000
synchronization.import.cron=0 0/30 * * 1-5 ?
alf_data/solr/archive-SpaceStore/conf/solrcore.properties alf_data/solr/workspace-SpaceStore/conf/solrcore.properties
solr testweise im Vordergrund starten:
alfresco-search-service/solr/bin/solr start -f -force
solr status anzeigen:
alfresco-search-service/solr/bin/solr status
import org.apache.chemistry.opencmis.commons.* import org.apache.chemistry.opencmis.commons.data.* import org.apache.chemistry.opencmis.commons.enums.* import org.apache.chemistry.opencmis.client.api.* import org.apache.chemistry.opencmis.client.util.* Document file = (Document) session.GetObject("workspace://SpaceStore/abcde1234-5678-hijk-..."); def cmis = new scripts.CMIS(session) cmis.download(file, "c:\\test\\DOKTEST.docx")
curl -v -X DELETE "http://myadmin:mypassword@myalfresco:8080/alfresco/service/slingshot/doclib/action/file/site/mysite/documentLibrary/myfile.txt"
oder über selenium:
//vorher: export CLASSPATH=".:selenium-server-standalone-3.13.0.jar" import java.io.IOException; import org.openqa.selenium.chrome.ChromeOptions; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.*; public class DelMyFile { public static void main(String[] args) throws IOException, InterruptedException { String sPage = "https://myalfresco.my.dom.ain/share/page/"; String sUser = "myuser"; String sPass = "mypassword"; String sDokp = "https://myalfresco.my.dom.ain/share/page/site/mysite/document-details?nodeRef=workspace://SpacesStore/abcd1234-76de-444b-9ff5-4e93faaa2c35"; String delbutton = "/html/body/div[2]/div[1]/div[3]/span/span[1]/span/button"; System.setProperty("webdriver.chrome.driver", "/usr/bin/chromedriver"); ChromeOptions chromeOptions = new ChromeOptions(); chromeOptions.addArguments("--headless"); chromeOptions.addArguments("--no-sandbox"); WebDriver driver = new ChromeDriver(chromeOptions); driver.get(sPage); String titlelogin = driver.getTitle(); System.out.println("The title of the Webpage is: " +titlelogin); WebElement userfield = driver.findElement(By.id("username")); WebElement passfield = driver.findElement(By.id("password")); WebElement loginbutton = driver.findElement(By.id("btn-login")); if (driver.getPageSource().contains("username")) { System.out.println("enter username"); userfield.clear(); userfield.sendKeys(sUser); System.out.println("enter password"); passfield.clear(); passfield.sendKeys(sPass); System.out.println("enter loginbutton"); Thread.sleep(1000); loginbutton.click(); String title = driver.getTitle(); System.out.println("The title of the Webpage is: " +title); System.out.println("User "+sUser+" logged in successfully"); // öffne Dokumentenwebseite und lösche diese driver.get(sDokp); title = driver.getTitle(); System.out.println("The title of the Webpage is: " +title); System.out.println("Deleting file : " +sDokp); WebElement deletefield = driver.findElement(By.linkText("Delete Document")); deletefield.click(); deletefield = driver.findElement(By.xpath(delbutton)); deletefield.click(); } else { System.out.println("Fail"); } driver.close(); driver.quit(); } }
ändern der rowsPerPage
von 50 auf 100 in Datei tomcatshare/webapps/share/components/console/trashcan.js
und der trashcan-min.js
.
dann auf https://myalfrescosrv/alfresco/service/index Refresh Webscripts
und Clear Cache
.
* auf dem alfrescoserver im tmp/-Verzeichnis ein Unterverzeichnis(z.B. import/) erstellen und mit Verzeichnissen und Dateien füllen und dafür Leserechte für tomcat konfigurieren.
* Website https://myecms.my.dom.ain/alfresco/service/bulkfsimport aufrufen und anmelden
"Import directory:" /tmp/import/ "Target space(Noderef or Path):" /Company Home/Sites/exitierendeSite/documentLibrary/ [Initiate Bulk import]
* Prüfen ob die Verzeichnisse und Dateien in die Site importiert wurden.
* importierte Verzeichnisse in „import“ wieder löschen.
oder
* auf dem alfrescoserver im …contentstore/-Verzeichnis ein Unterverzeichnis(z.B. import/) erstellen und mit Verzeichnissen und Dateien füllen und dafür Leserechte für tomcat konfigurieren.
* Webseite https://myecms.my.dom.ain/alfresco/service/bulkfsimport/inplace aufrufen und anmelden
"Importverzeichnispath, relativ zum Store:" import "Content Store:" default "Pfad im Ziel Repository:" /Company Home/Sites/exitierendeSite/documentLibrary/ [Massenimport starten]
* Prüfen ob die Verzeichnisse und Dateien in die Site importiert wurden. * importierte Verzeichnisse in „import“ wieder löschen.
curl -u admin:geheim "http://localhost:8080/alfresco/service/api/audit/control"
Eintrag in alfresco-global.properties
:
server.allowWrite=false
Eintrag in alfresco-global.properties
:
server.allowedusers=John,Paul,George,Ringo
SELECT D.* FROM cmis:document as D JOIN cm:checkedOut as T ON D.cmis:objectID = T.cmis.objectId
oder in der Website nach „Arbeitskopie“ suchen und das Bearbeiten abbrechen
in Webseite „View Working Copy“ / „Cancel Editing“
curl -u admin:meinpasswort "http://localhost:8080/alfresco/s/api/people?maxResults=2500" curl -u admin:admin "http://localhost:8080/alfresco/s/api/people?maxResults=2500" | grep userName | wc -l