Skip to main content

How to change the repository home directory

Per default, CRX will be installed in a folder named crx-quickstart located in the JVM's root folder. In order to change the default crx-quickstart installation folder, follow these steps. In this example the default installation folder will be prefixed with my_custom_path:

  • extract the default crx-xxx-quickstart.jar with 'java -jar crx-xxx-quickstart.jar' in a temporary location
  • navigate to crx-quickstart/server/webapps
  • unzip crx-explorer_crx.war to crx-explorer_crx
  • edit crx-explorer_crx/WEB-INF/web.xml
    • locate servlet with name Repository and adjust the value of the repository-home parameter to my_custom_path/crx-quickstart/repository
    • locate servlet JCRExplorer and adjust value of parameter explorer-home to my_custom_path/crx-quickstart/repository
    • locate servlet JCRWebdavServer and change value of parameter home to my_custom_path/crx-quickstart
  • edit crx-explorer_crx/WEB-INF/log4j.xml
    • adapt the path of the error.log and translation.log files and prefix them with my_custom_path
  • unzip crx-launchpad.war to crx-launchpad
  • edit crx-launchpad/WEB-INF/web.xml
    • adjust parameter sling.home to my_custom_path/crx-quickstart/launchpad

After having reconfigured the paths, simply repackage the previously unzipped webapps and deploy these in the application server of your choice, first crx-explorer_crx.war, then crx-launchpad.war. Once deployed, the repository home directory will be located at <app_server_home>/my_custom_path.

Note:- You might encounter an io file permission error like [1] make sure the app runas user have write privileges to the parent of sling.home.

[1]  java.io.FileNotFoundException: my_custom_path/../system.id (Permission denied)

 

Comments

Popular posts from this blog

AEM 6.3 - Check if page is published or not

If you want to know if the page is published or not you can use the below utility method to know if the page is published or not. Steps - Take Resource Object. Adapt it to Page Adapt page to ReplicationStatus, you will get the status Here is the code - public static Boolean isPublished(Resource resource) { Boolean activated; ReplicationStatus status = null; activated = false; if (resource != null) { try { Page page = resource.adaptTo( Page.class ); status = page.adaptTo( ReplicationStatus.class ); } catch (Exception e) { LOG.debug(e.getMessage (), e); } if (status != null) { activated = status.isActivated(); } } return activated; }

Search engine optimization in CQ

SEO Optimization Search engine optimization ( SEO ) is the process of affecting the visibility of a website or a web page in a search engine 's "natural" or un-paid (" organic ") search results . Source : Wiki Whenever you enter a query in a search engine and hit 'enter' you get a list of web results that contain that query term. Users normally tend to visit websites that are at the top of this list as they perceive those to be more relevant to the query. If you have ever wondered why some of these websites rank better than the others then you must know that it is because of a powerful web marketing technique called Search Engine Optimization (SEO) . SEO is a technique which helps search engines find and rank your site higher than the millions of other sites in response to a search query. SEO thus helps you get traffic from search engines.  HTML Tags and SEO Here is the list of important html tags which help search engine t

Create Your Own Private Ethereum Blockchain

Prerequisites You need to have Geth installed. The easiest way to do this is through homebrew. Open Terminal and  install homebrew ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 2. Now  install geth brew tap ethereum/ethereum brew install ethereum Create Genesis File The Genesis  block  is the first block in the chain, the Genesis  file  is a JSON file that defines the characteristics of that initial block and subsequently the rest of the blockchain. Create a directory to hold your network files mkdir my-eth-chain cd my-eth-chain 2. Create your genesis file touch myGenesis.json 3. Open your genesis file and paste the following { "config": { "chainId": 1994, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0, "byzantiumBlock": 0 }, "difficulty": "400", "gasLimit": "2000000", "alloc"