By Arslan Ud Din Shafiq, Alibaba Cloud Tech Share Author. Tech Share is Alibaba Cloud's incentive program to encourage the sharing of technical knowledge and best practices within the cloud community.
Alfresco Community Edition is an open source Enterprise Content Management (ECM) software for managing the contents of an enterprise. Alfresco Community Edition is one of the software products of Alfresco. It is developed for Windows and Unix operating systems. It is written in Java, and PostgreSQL is used for storing its database. Alfresco is used within an enterprise for managing its various systems and digital assets such as videos, documents, images, and records. WebDAV, CIMS, SMB, and FTP can be used for accessing the file repository of hosted Alfresco.
With Alfresco, many enterprise challenges can be addressed, including displaying important information at one place and keeping track of employee performance. For getting the advantages of community-driven development, Alfresco Community Edition could be the best option for your enterprise.
When talking about availability and scalability, Alfresco does have some limitations. For instance, the community edition of Alfresco does not support clustering. The quality assurance and the bug fixes are also limited. However, Alfresco Community Edition provides enterprises of different levels with ease of managing their content and non-critical business process. It is easy to use and the source code of the Community Edition is also publicly available.
As a developer, I prefer the services of Alibaba Cloud to deploy Alfresco. Alibaba Elastic Compute Service (ECS) is highly scalable and flexible. You can upgrade the hardware resources anytime when required. Alibaba Cloud can also provide you technical support and assistance in order to launch any of your system.
Alfresco does not restrict its installation to any specific operating system (OS). You can use any operating system (OS) of your choice; however, the installation steps would vary according to the choice of operating system.
In this tutorial, we will be installing and configuring Alfresco Community Edition on an Alibaba Cloud Elastic Compute Service (ECS) instance with CentOS 7.
The installer package for Alfresco is easily available on their official website. This installer package by Alfresco contains all the programs required to execute Alfresco Community Edition on your Operating System. The LibreOffice plugin require some dependencies that needs to be installed.
Perform the following installations by entering the relevant commands:
Install fontconfig
# sudo yum -y install fontconfig
Install libSM
# sudo yum -y install libSM
Install libICE
# sudo yum -y install libICE
Install cups-libs
# sudo yum -y install cups-libs
Install libGLU, cairo, mesa-libGL-devel
# sudo yum -y install libGLU cairo mesa-libGL-devel
After completing all the above installations, remove Postfix or MTA from the machine with the command:
# sudo yum -y remove postfix
Nano editor is used to edit different files. It helps you in editing files easily. We will be using this editor for editing a few files, so downloading it on prior basis makes it easy for us to continue with the configurations and editing processes. Here's the command to install the editor.
# sudo yum install nano
We are now all set to install Alfresco on our ECS instance.
The next step is to download the latest Alfresco installer via its official page. It is recommended to use the installer that is provided by the official Alfresco website, as it will not get you in trouble due to bugs or other errors during or after installation of Alfresco.
# wget https://download.alfresco.com/release/community/201707-build-00028/alfresco-community-installer-201707-linux-x64.bin
This downloading process may take a while, and after it is saved, it will generate a message of saving the installer package. This installer package requires certain execution permissions. The following command will provide it with the necessary permissions.
# sudo chmod +x alfresco-community-installer-201707-linux-x64.bin
We can now install the Alfresco Community Edition easily. Execute the following command to start the installation process.
# sudo ./alfresco-community-installer-201707-linux-x64.bin
After running the command, you will be prompted to select an installation language. Select the installation language by entering the respective number for your preferred language. After the language selection, it asks you to select the installation type. For installing the application with default configurations, you should select the "Easy Install" method.
You will then be prompted to select a folder to install Alfresco community. Select /opt/alfresco-community, which is the default location for installing Alfresco. Continue with the default folder by pressing Enter.
You will need to specify a password for the Alfresco Content Services administrator account. This will be the credential that you will be using for accessing the Alfresco services, after they are installed, by using the administrative ID and password. After setting up a password, select 'Y' for installing it as a service.
Right after the Alfresco is installed, it asks 'View Readme File?'. Select 'Y' and the server should start immediately with the following output.
You can also launch your application right away, as the installer has already provided the start-up service.
# sudo systemctl start alfresco
You need to get the Alfresco service enabled for it to start automatically at boot time. You can do this with the following command:
# sudo systemctl enable alfresco
By default, the Tomcat server starts on port 8080. To check the working status of Alfresco server, the port 8080 needs to be allowed through the system firewall. This will be done by the firewall settings mentioned with details at the end of this tutorial.
Go to a browser and log on to http://47.90.214.177:8080/share/ where 47.90.214.177 is my public IP. Remember to replace it with yours. Upon loading this, you will be shown Alfresco's landing page.
By default, Tomcat server runs on port 8080. Here we are going to use Nginx as a reverse proxy for the application to be easily accessible through the standard HTTP and HTTPS ports. We will also be configuring Nginx for using an SSL generated with Let's Encrypt free SSL.
Now, install Nginx server.
# sudo yum -y install nginx
We will be starting the web server along with enabling it to automatically start at the boot time.
# sudo systemctl start nginx
# sudo systemctl enable nginx
Next, you need to configure your reverse proxy. All we need to do is to create a new block file in Alfresco.
# sudo nano /etc/nginx/conf.d/softpedia.xyz.conf
Here softpedia.xyz is the public domain name, replace it with yours. The next thing is that we shall be populating this file with the following code.
server {
listen 80;
server_name softpedia.xyz;
location / {
root /opt/alfresco-community/tomcat/webapps/ROOT;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080;
proxy_redirect default;
}
location /share/ {
root /opt/alfresco-community/tomcat/webapps/share/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080/share/;
}
location /alfresco/ {
root /opt/alfresco-community/tomcat/webapps/alfresco/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_pass http://localhost:8080/alfresco/;
}
}
Save the modified changes and close the file. Now we are done with the necessary changes made for the configuration.
Restart the server to save your configuration and for the changes to take effect.
# sudo systemctl restart nginx alfresco
Now go to http://softpedia.xyz/share/page/ (or your own domain name) and access the various services of Alfresco Community Edition. Use credentials that you provided during the installation process of Alfresco.
Alfresco Community Edition is now accessible through the domain name, easily. You can now use the amazing services provided by this application by giving the authenticated administrative credentials.
If you have activated firewalls, you will have to define a rule in Alibaba Cloud security group for your cloud server to add exception for port 80/TCP and 443/TCP. You can enable these ports while creating ECS instance, but in case if you have forgotten to unblock these ports, you can follow the procedure below.
By default, these ports are blocked by the firewalls. Also, we need to add port 8080 for accessing the Alfresco. To do this, go to your Elastic Compute Service section. Click on More for the ECS you are using for Alfresco and click Security Group Configuration.
Click on Configure Rules and then click on Quickly Create Rules.
Add the configurations as shown in screenshot below and click OK.
Alibaba Cloud Partners with National University of Singapore to Support Smart Nation Initiative
2,599 posts | 762 followers
FollowGhulamQadir - January 15, 2020
GhulamQadir - December 30, 2019
Alibaba Clouder - August 9, 2019
Alibaba Clouder - July 26, 2019
Alibaba Clouder - September 6, 2019
Alibaba Clouder - December 18, 2017
2,599 posts | 762 followers
FollowElastic and secure virtual cloud servers to cater all your cloud hosting needs.
Learn MoreAn encrypted and secure cloud storage service which stores, processes and accesses massive amounts of data from anywhere in the world
Learn MoreLearn More
More Posts by Alibaba Clouder