LPS:Portal6
Z HelpDesk
ZČU Portal V2
Odkazy na dokumentaci
- WebSphere Portal
- WebSphere Portal Server Infocenter 6.0
- WebSphere Application Server Infocenter 6.0
- WebSphere Portal logs REFERENCE
- XML configuration interface REFERENCE
- Configuration task reference REFERENCE - WPSconfig.sh
- action-empty-portal, action-precompile-jsp, cleanup-work-dir, database-transfer, delete-passwords, validate-database-connection-<dbdomain>, validate-ldap, disable-security enable-security-ldap, update-properties
- Configuration properties REFERENCE
- 6.2.1: Zabezpečení přenosového kanálu mezi webovým prohlížečem a webem publikace IBM WebSphere Application Server V6 Security Handbook
- Securing Communication
- WAS Security Overview
- Portal configuration
- Explaining LD_ASSUME_KERNEL
- Site Analyzer
- LDAP JXplorer diky jiri.dolecek
- Authenticity Confidentiality integrity
- 6.0.0.1: WebSphere Portal version 6.0 fix pack 1
- Recommended fixes for WebSphere Application Server
- http://www-128.ibm.com/developerworks/websphere/library/techarticles/0606_petersonr/0606_petersonr.html
- http://www-128.ibm.com/developerworks/java/jdk/linux/download.html
Obecne informace a architektura
- Pro dosažení maximální dostupnosti mohou být data distribuována do více databází a sdílena mezi více produkčními liniemi. Vaše data jsou rozdělena do čtyř kategorií. Musíte se rozhodnout, jak mají být jednotlivé kategorie rozděleny do různých databází:
- V určitých situacích je možné, že si budete přát nainstalovat prázdný portál, kde WebSphere Portal je nainstalován normálně, ale nejsou nainstalovány nebo implementovány žádné portlety a nejsou vytvořeny ani žádné stránky. To může být užitečné, pokud si přejete přenést celou konfiguraci portálu z jednoho portálu na jiný. Můžete například chtít přenést portál ze svého testovacího prostředí do produkčního prostředí.
UNIX: ./install.sh -W emptyPortal.active="True"
- setupCmdLine.sh nastavuje spatne $WAS_HOME (hlavne dost dementne podle aktualniho adresare)
- TODO: megablast6obrazek
- TODO: pristupove porty
- TODO: dynacache ?
- nastaveni portalovych komponent se z $WPS/config/properties/* souboru prenasi do WAS_Console:Resource environment providers > WP SiteAnalyzerLogService > Custom properties -- $WAS_PROFILE/config/cells/zcucz/nodes/portal2/resources.xml -- pomoci update-properties
A co na to Jan Tleskač?
zapnout site analyzer $WPS/services/SiteAnalyzer.....- pridat WebSphere EdgeServer
- VYMAZAT HESLA
vymyslet jak to bude s adminama: superuser vs. cn=wpsadmins,ou=groupsnainstalovat certifikaty ZCU CA- vyklonovat portal i s DB
nastavit zalohovanipostelovat porty || presmerovani- webove statistiky
- vymyslet nejakou vhodnou metodu pro uchovavani zaznamu o konfiguracnich zmenach
vymastit nejakyho uzivatele kterej muze shazovat a nahazovat portalnapsat do start skriptu grepik logu po startu na chyby "(.*\ ){4}E\ .*"- zamyslet se nad 3rd party auth pomoci webauthu (apache2 vs. javawebauth)
- neni jaas http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/topic/com.ibm.websphere.base.doc/info/aes/ae/welc_content_csec.html prave moznost aby WAS overoval uzivatele protokolem kerberos primo a nemusel pri tom spolehat na ldap? viz. upravy v publu?
- prihlasovani certifikatama
- co je to ten credential valut ?
- vynastavit email-portlet?
Kontakty
- jiri.dolecek [at] upol.cz - vyvojar/spravec WAS6 v Olmiku
- Rodina IS/STAG
Postup instalace WPS 6.0.0.0,6.0.0.1
Instalace WAS a WPS
U všech operačních systémů Linux je před instalací portálu WebSphere Portal potřeba knihovna sdílených objektů libstdc++-3.3.3-41- WebSphere Portal Verze 6.0 vyžaduje povolení XA pro všechny komponentové zdroje dat a ovladače JDBC. << hmm tomu nerozumim
- v systemu nastavit:
- ulimit na pocet otevrenych souboru (FAI.DEV)
- exportovat promenou LD_ASSUME_KERNEL kvuli imitaci SUSE; a zrejme kuli spravnemu vyberu ABI libc6 (FAI.DEV)
- priponastavit certifikat CA pro radkoveho klienta ldapsearch (pro kontrolni ucely)
- pridat iptables java hack, nedokazu presvedcit javu aby si nic neposilala sama sobe po verejnem rozhrani
- imitovat SUSE
cat << __EOF__ >> /etc/profile ulimit -n 20240 alias was='cd /opt/WebSphere/AppServer' alias waslog='cd /opt/WebSphere/AppServer/logs' alias wps='cd /opt/WebSphere/PortalServer' alias wpslog='cd /opt/WebSphere/PortalServer/log' export LD_ASSUME_KERNEL=2.4.19 # alias wasprof='cd /opt/WebSphere/AppServer/profiles/wp_profile' export REPLACE_WAS_HOME="/opt/WebSphere/AppServer" __EOF__ echo "TLS_CACERT /etc/ldap/ZCUrootCA.pem" >> /etc/ldap/ldap.conf iptables -A INPUT -s 147.228.52.49 -d 147.228.52.49 -j ACCEPT
cat << __EOF__ >> /etc/bodik-release SUSE VERSION = 9 __EOF__
- pridat init.d/portal (TODOFAI.DEV)
- porozbalovat CDcka a spustit ./install.sh; proslo celkem bez problemu, nakonci ceka nainstalovany WAS, WPS v podobe server1 a WebSphere_Portal
Migrace databazovych dat
portal6 pouziva nekolik datovych ulozist
- DB - release, customization, community, FeedBack(analyticka data o vyuziti portalu), Likemins(??), WMM(autorizacni data), jcr(db obsahu?;icm)
- LDAP/adresar - autentizacni a identity
- konfiguracni - soubory na disku
konfiguruji se v $WPS/config/wpconfig.props a $WPS/config/wpconfig_dbdomain.props, ...
- zapnout FEEDBACK, resp vytvorit jeji databazi, aby byla prenesena tez a nemusela se inicializovat az bude nekdy treba (asi zbytecne ;)
$ EDIT $WPS/config/wpconfig.properties a dodat hesla pro konfiguracni ulohy $ ./WPSconfig.sh (feedback-database|setup-feedback) $EDIT $WPS/shared/app/config/FeedBack.properties
- vytvorit databazi a potrebna schemata v oracle, a pridelit potrebna opravneni
# db_block_size = 8192 # !!!!!db_cache_size = 300M # v devitce nefunguje, zrejme obsolete # db_files = 1024 # log_buffer = 65536 # open_cursors = 1500 # pga_aggregate_target = 200M # maximalni velikost pameti pro jeden uzivatelsky proces # pre_page_sga = true # shared global area ... jakasi spolecna sdilena pamet ;)) # processes = 300 # shared_pool_size = 200M # ######uzivatele pro data portalu create user releaseusr identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP; create user commusr identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP; create user custusr identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP; create user wmmdbusr identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP; create user feedback identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP; create user lmdbusr identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP; # ######uzivatel pro data obsahu JCR (no dobra icmadmin je trosku schyza :) create user icmadmin identified by aaaaaa default tablespace USR_DATA temporary tablespace TMP;
###jako SYSDBA provest vytvoreni specialnich tablespacu cat << __EOF__ >> /tmp/jcr_tablespaces.sql define jcrdb = WPS6; define logfile = /tmp/icmjcr.log; define dbpath = /home/oracle/data; spool &logfile; whenever sqlerror exit sql.sqlcode rollback; --CONNECT &&dbadmin/&&password; create tablespace ICMLFQ32 datafile '&dbpath./&jcrdb./&jcrdb._ICMLFQ32_01.dbf' size 300M reuse \ autoextend on next 10M maxsize UNLIMITED extent management local autoallocate; create tablespace ICMLNF32 datafile '&dbpath./&jcrdb./&jcrdb._ICMLNF32_01.dbf' size 25M reuse \ autoextend on next 10M maxsize UNLIMITED extent management local autoallocate; create tablespace ICMVFQ04 datafile '&dbpath./&jcrdb./&jcrdb._ICMVFQ04_01.dbf' size 25M reuse \ autoextend on next 10M maxsize UNLIMITED extent management local autoallocate; create tablespace ICMSFQ04 datafile '&dbpath./&jcrdb./&jcrdb._ICMSFQ04_01.dbf' size 150M reuse \ autoextend on next 10M maxsize UNLIMITED extent management local autoallocate; create tablespace ICMLSNDX datafile '&dbpath./&jcrdb./&jcrdb._ICMLSNDX_01.dbf' size 10M reuse \ autoextend on next 10M maxsize UNLIMITED extent management local autoallocate; spool off; exit; __EOF__
grant select on dba_pending_transactions to releaseusr; grant connect, resource to releaseusr; grant select on dba_pending_transactions to commusr; grant connect, resource to commusr; grant select on dba_pending_transactions to custusr; grant connect, resource to custusr; grant select on dba_pending_transactions to wmmdbusr; grant connect, resource to wmmdbusr; grant create session, alter session, create table,create view,create procedure, create trigger, \ create library,create tablespace, alter tablespace, drop tablespace, execute any procedure, \ unlimited tablespace, create public synonym,drop public synonym, create sequence to icmadmin; grant select on dba_pending_transactions to icmadmin; grant connect, resource to icmadmin; grant insert any table to icmadmin; grant select on dba_pending_transactions to feedback; grant connect, resource, create session to feedback; grant select on dba_pending_transactions to lmdbusr; grant connect, resource, create session to lmdbusr; grant insert any table to lmdbusr;
- databazove ruznosti a uzitecnosti
select tablespace_name from dba_tablespaces; alter user hehe identified by hesloveslo;
- sehnat JDBC ovladace pro oracle, bud na strankach http://www.oracle.com, nebo ukradnout z nejakeho databazoveho stroje (budiz mi technologickou nekazni ze jsem pouzil 10tkove ovladace pro 9tkovou databazi)
/opt/jdbc/10gR2 /opt/jdbc/9.2
- nastavit nove parametr datovych ulozist, zvalidovat konfiguraci a prenest data
$ EDIT wpconfig.properties; EDIT wpconfig_dbdomain.properties, EDIT wpconfig_dbtype.properties $ ./WPSconfig.sh validate-database-connection-(wps|jcr|feedback|likeminds|wmm,?...?) $ ./WPSconfig.sh validate-database-driver $ ./WPSconfig.sh database-transfer
- udelat otisk/zalohu databaze a portalu >> WPS6.oracleinit.tgz
Konfigurace zabezpeceni
- portal podporuje 4 typy autentizace: form-based, certifikatem, 3ti stranou (nicmene trosku programovaci zbesilost; TODO), pomoci specialniho URL
- umoznuje slozit identitu v portale z dat z nekolika zdroju. typicky LDAP + LookAside DB, to v pripade ze nechceme mit nastaveni uzivatelskych profilu v adresari
Napojeni User Registry na adresar
- poskytovani sluzeb v domene identit provadi WebSphere Member Manager. dokaze namapovat atributy pro portalovou identitu z ruznych zdroju. Konfiguruje se ve $WAS/wmm/wmm.xml, $WAS/wmm/wmmLDAPServerAttributes.xml. Zbytek jsou prevazne predlohy (aspon myslim).
- adresar musi obsahovat minimalne PortalAdminId a PortalAdminGroupID (nejlepe PAGID e (PAID, ..)), pro content mgmnt jeste wpsContentAdministrators a wpsDocReviewer; taky se hodi wpsBindUser, uzivatel pod kterym se budou provadet vyhledavaci operace nad adresarem
- v pripade portal6 to budou specialne identity dodane primo ldapem, a konta zalozena v KRB kvuli zmenam hesel:
uid=wpsadmin6,ou=users,ou=portal,ou=services,dc=zcu,dc=cz uid=wasadmin6,ou=users,ou=portal,ou=services,dc=zcu,dc=cz uid=wpsbind6,ou=users,ou=portal,ou=services,dc=zcu,dc=cz cn=wpsadmins6,ou=groups,ou=portal,ou=services,dc=zcu,dc=cz
- pro konfiguraci pouziju schema SunOne/IPLANET, nicmene stejne musim zmenit konfiguraci wmm viz nize
- opravit nektera nastaveni ktera pri pouziti SunOne/IPLANET nestaci. Opravy se kykaji mapovani atributu extID pro WMM (pluginAttributeName="nsuniquename" > pluginAttributeName="distigushedName")
- http://www-1.ibm.com/support/docview.wss?uid=swg21192665
- http://ecommunity.groupintelligence.com/websphere/forums/showthread.php?p=2569
- jinak nastane zkart ve WMM a nenabehne cast portalu (vcetne konfiguracniho rozhrani URL:/wps/config)
- jinak docela hezka parba na 2 dny ;), ale dohral sem az do konce
- Mapování externích ID (extId) do Member Manager
---cut SystemOut.log--- [3/1/07 21:54:12:826 CET] 0000000a WSMM Message E com.ibm.ws.wmm.MemberRepositoryManager API: getMember(MemberIdentifier memberId, StringSet attributeNames, String context) The profile repository did not return a external identifier. [3/1/07 21:54:12:918 CET] 0000000a Servlet E com.ibm.wps.engine.Servlet init EJPFD0016E: Initialization of service failed. com.ibm.wps.ac.DomainAdministratorNotFoundException: EJPSB0107E: Exception occurred while retrieving the identity of the domain adminuser/admingroup uid=wpsadmin6,ou=users,ou=portal,ou=services,dc=zcu,dc=cz. at ... ---cut SystemOut.log---
- zkonfigurovat: zastavit servery, vypnout zabezpeceni, zapsat nove identity do konfiguracnich souboru, importovat certifikaty do ulozist (zde repertoir DefaultSSLSetting; a nejlepe vsude protoze instalacni manual je trosku nepresny rekl bych; a jeste sem z toho vyhodil verejne certifikacni autority aby sem si to vic zkomplikoval), zvalidovat nastaveni adresare
$ stopServer.sh WebSphere_Portal $ stopServer.sh server1 $ $ ./WPSconfig.sh disable-security $ $ $WAS/bin/ikeyman.sh $WAS/profiles/wp_profile/etc/DummyServerTrustStore.jks << ZCUrootCA $ $WAS/bin/ikeyman.sh $WAS/profiles/wp_profile/etc/DummyClientTrustStore.jks << ZCUrootCA $ $WAS/bin/ikeyman.sh $WAS/java/jre/lib/security/cacerts << ZCUrootCA $ $ EDIT wpconfig.properties $ echo "LDAPsslEnabled=true" >> wpconfig.properties # navic ale jdeme rovnou na SSL Ldap $ EDIT $WAS/wmm/wmm_LDAP_LA_SO.xml # oprava sslTrustStore, a ssl $ EDIT $WAS/wmm/wmmLDAPAttributes_SO.xml # oprava atributu pluginAtTributeName $ $ # mimodek nainstalovat FixPack1 ;) $ $WPS/update/updatePortalSilent.sh ... ... ... $ # a zapnout si docasne wmmApp trace com.ibm.websphere.wmm.*=all=enabled:com.ibm.ws.wmm.*=all=enabled:WSMM=all=enabled $ $ ./WPSconfig.sh enable-security-ldap $ restartServer.sh (WebSphere_Portal|server1)
- udelat otisk/zalohu databaze >> WPS6001.ldapinit.tgz
- a ziskali sme portal ve verzi:
Name IBM WebSphere Portal MultiPlatform Version 6.0.0.1 ID MP Build Level wp6001_072_02 Build Date 11/20/2006
Nastaveni SSL pro komunikacni kanaly
- nastaveni SSL vrstvy pro ldap sem nastavil trosku intuiticne v predchozim kroku ;(
- In general, the Web server must be configured to accept inbound SSL traffic.
- Then, the WebSphere Application Server plugin for the Web server must be configured to forward traffic on that port to WebSphere Application Server and WebSphere Portal. This involves configuring the virtual host information.
- jeste tu neni o nastaveni SSL konektoru na WAS ?
- No protoze prace s udelatorem jmene ikeyman je opet trochu dementni zvolil sem osvedceny zpusob pro vytvoreni javovskeho JKS
- nakonec sem doslat schopne uloziste a jeste k nemu vytvoril TrustFile s certifikatem ZCUCA
- nastavit spravne SSL repertoiry do transportnich retezcu jednotlivych aplikacnich serveru (server1, WebSphere_Portal)
$ keytool -genkey -alias portal2 -keyalg RSA -sigalg SHA1withRSA -keysize 1024 -keystore portal2ServerKeyFile.jks -dname \ "CN=portal2.zcu.cz, OU=CIV, OU=Services, O=ZCU, L=Pilsen, ST=Czech Republic, C=CZ" -validity 1024 $ keytool -list -v -alias portal2 -keystore portal2ServerKeyFile.jks $ keytool -certreq -keystore portal2ServerKeyFile.jks -alias portal2 -keyalg RSA -file portal2.csr $ openssl req -text -in portal2.csr GOTO(p@ja) <<portal2.csr >>portal2.crt $ keytool -import -trustcacerts -file ZCUrootCA.pem -alias "ZCUrootCA" -keystore portal2ServerKeyFile.jks $ keytool -import -trustcacerts -file portal2.crt -alias portal2 -keystore portal2ServerKeyFile.jks
- Finally, WebSphere Portal must be set up to generate self-referencing URLs using SSL as the transport.
- nastavit redirekty na prislusne porty podle dokumentace v ConfigService
- pridat bezpecnostni mantinely do deployment deskriptoru portalu << ASI NEVYDRZI UPGRADE ;(
- do priste se naucit pomoci wsadminu a earexpanderu !!! je to potreba ;)
- upravit thematka tak aby jspcka generovala spravna URL << ASI NEVYDRZI UPGRADE ;(
- html/IBM/banner_toolbar.jspf
- html/IBM/mainMenu.jsp
- html/Default.jsp
- procistit cache
pustit ulohu update-properties
$ EDIT $WPS/config/properties/ConfigService.properties $ EDIT $WAS_PROFILE/installedApps/zcucz/wps.ear/wps.war/WEB-INF/web.xml << NONE>CONFIDENTIAL $ EDIT $WAS_PROFILE/config/cells/zcucz/applications/wps.ear/deployments/wps/wps.war/WEB-INF << NONE>CONFIDENTIAL $ cd $WAS_PROFILE/installedApps/zcucz/wps.ear/wps.war/themes; grep -R "wps.Login" * | xargs EDIT ... $ dilit -r $WAS_PROFILE/temp/*; dilit -r $WAS_PROFILE/wstemp/*
- nicmene wmm i was koukaji take do ldapu pomoci ssl takze zase bude potreba zmena dvou ulozist ?
Klonování
$ rsync -ra --rsh="ssh -C -l root" root@portal.zcu.cz:/opt/WebSphere/AppServer . $ rsync -ra --rsh="ssh -C -l root" root@portal.zcu.cz:/opt/WebSphere/PortalServer . $ rsync -ra --rsh="ssh -C -l root" root@portal.zcu.cz:/opt/jdbc . $ mkdir /opt/WebSphere/SiteAnalyzer $ EDIT $WAS/profiles/wp_profile/config/cells/zcucz/nodes/portal2/serverindex.xml $ EDIT $WAS/profiles/wp_profile/config/cells/zcucz/nodes/portal2/servers/WebSphere_Portal/variables.xml $ EDIT $WAS/profiles/wp_profile/config/cells/zcucz/security.xml
- v DB sem nasel ve schematu RELEASEUSR nejaky odkaz na portal2 asi bych no mohl zamenit