Redis not working on CentOS - node.js

I'm having trouble installing Redis, this whole week I looked for a solution. I'm needing to install NodeBB running on a CentOS 6 server (with WHM/Cpanel).
Follow the steps http://nodebb-francais.readthedocs.org/projects/nodebb/en/latest/installing/os/centos.html
When I run a test (https://www.digitalocean.com/community/tutorials/how-to-configure-a-redis-cluster-on-ubuntu-14-04) with the command redis-benchmark -q -n 1000 -c 10 -P 5, the system returned the error Writing to socket: Connection refused.
In attempts I installed multiple times Redis, don't know if this may have affected the functioning now. Does anyone have any idea what could be the problem? Apparently Redis does not run in fact, and it is difficult to find specific content on the subject.

You need to install the redis package. Your guide is for Ubuntu where it is available in the base repository, it isn't in CentOs. You have to install it via the epel repository.
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm; yum -y --enablerepo=remi,remi-test install redis
chkconfig --add redis
service redis restart
You can also install it from source:
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
tar xzvf redis-2.8.3.tar.gz
cd redis-2.8.3
make
make install
chkconfig --add redis
service redis restart

Related

PostgreSQL on Elastic Beanstalk (Amazon Linux 2)

With former generation of Amazon Linux, all I needed to do is add the following in .ebextensions in order to use PostgreSQL:
packages:
yum:
postgresql93-devel: []
Now when I deploy on EB with the following platform:
Python 3.7 running on 64bit Amazon Linux 2/3.0.0
I get the following error on deployment:
[ERROR] Error occurred during build: Yum does not have postgresql93-devel available for installation
Therefore it is impossible to deploy as I need to connect to a PostgreSQL database in RDS.
What config in .ebextensions do I need to do?
The following works:
packages:
yum:
amazon-linux-extras: []
commands:
01_postgres_activate:
command: sudo amazon-linux-extras enable postgresql10
02_postgres_install:
command: sudo yum install -y postgresql-devel
postgresql93-devel is pretty old. The yum PostgreSQL repository starts at 9.5. Depending on your needs you may want to upgrade to at least 9.5. PostgreSQL 12 is the latest production release.
EDIT
As to the comment #jordanm made - that's correct, the AWS Linux 2 environment does have PostgreSQL 9.2.24 available. If you're ok with that version then you can just install postgresql-devel. Change your .ebextensions to just run:
packages:
yum:
postgresql-devel: []
This will install the devel package for 9.2.24.
If you'd like something a bit newer, it's apparently a bunch harder. I was unable to get this to work for the devel package. If you change your .ebextensions to contain something like (not tested!):
container_commands:
command: 'amazon-linux-extras install -y postgresql9.6'
Then you'll get PostgreSQL 9.6 but it does not appear to have the devel package available.
It doesn't look possible to use the RPM's from https://yum.postgresql.org/ as AWS Linux 2 is not supported. Trying CentOS or RHEL gives an error.
Is 9.2 usable for your environment?
Something that helped me with Amazon Linus 1, is the fact that I didn't need to install Postgres at all when plugging in a RDS service and specifying Postgres as the driver. It's just a thought for people having this problem. But maybe just try to not explicitly install Postgres.
I haven't validated which version will be installed by default.
This configuration works fine with the ElasticBeanstalk environment (Python 3.6 running on 64bit Amazon Linux). After this, I was able to install psycopg2 with requirements.txt
packages:
yum:
libicu-devel: []
commands:
01_postgres_libs:
command: rpm -ivh --force https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-libs-10.7-1PGDG.rhel6.x86_64.rpm
02_postgres_install:
command: rpm -ivh --force https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-10.7-1PGDG.rhel6.x86_64.rpm
03_symink_pg_config:
command: sudo ln -sf /usr/pgsql-10/bin/pg_config /usr/bin/pg_config
04_postgres_devel:
command: sudo rpm -ivh --force https://yum.postgresql.org/10/redhat/rhel-6.9-x86_64/postgresql10-devel-10.7-1PGDG.rhel6.x86_64.rpm

Upgrade to php 7 and apache 2.4 from php 5.3 and apache 2.2 in Amazon EC2

I have a legacy system in which Apache 2.2.34 (linux) is installed along with php 5.3.29 (CLI).
I just want to upgrade my apache to 2.4.x so that I will be able to use php 7.
I have tried searching for the same but majority of sites provide solution for CentOS or Ubuntu. I'm new to Linux so I'm a bit confused when applying the same on Amazon EC2 instance.
That would be really helpful if someone can provide me a step by step process to do the upgrade process. I just need to upgrade the server and I can do the configuration accordingly.
After some more googling, I have found the steps I have taken to upgrade. Hope that helps anyone looking for the same:
Login to your Linux instance and perform the regular system updates first
$ sudo yum update
Stop the running web server
$ sudo service httpd stop
Create backup of the existing httpd by using command:
$ sudo cp -a /etc/httpd /etc/httpd.bak
Remove any existing PHP packages
$ sudo yum remove php*
Remove old web server installs
$ sudo yum remove httpd*
Update yum package repository
$ sudo yum clean all
$ sudo yum upgrade -y
Install Apache 2.4
$ sudo yum install httpd24
Install PHP 7 packages
$ sudo yum install php70 php70-mysqlnd php70-imap php70-pecl-memcache php70-pecl-apcu php70-gd
Install a new version of mod_ssl
$ sudo yum install mod24_ssl
I also needed to reconfigure /etc/httpd/conf/httpd.conf and /etc/httpd/conf.d/ssl.conf in order to enable SSL and pretty permalinks.
Finally all I needed to do is start my web server
$ service httpd start
That's it.
Do retain that the solution by MrGoogle will reset any configuration in existence in the hpptd service.
You will probably need to reconfigure some settings...
I had to reconfigure mod_rewrite and .htaccess File for apache:
https://devops.ionos.com/tutorials/install-and-configure-mod_rewrite-for-apache-on-centos-7/

How to Install Postgresql 11 in Amazon Linux AMI?

How do I install Postgresql 11 on Amazon Linux 2018.03 (specifically, not AMZ Linux 2) on Elastic Beanstalk?
I want to install a package and not manually build a binary. If an autoscale machine boots and has to build the entire PG binary, it'll take significantly longer on a t2/t3.micro.
I'm looking for pg_dump.
[Edit] Making more verbose, explain why building does not work for my situation.
The key was the PGDG is no longer available to Amazon Linux's yum since 9.3 so the individual pieces must be installed.
# Remove old Postgres
yum remove -y postgresql postgresql-server
# Install Postgres 11
yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/postgresql11-libs-11.4-1PGDG.rhel6.x86_64.rpm
yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/postgresql11-11.4-1PGDG.rhel6.x86_64.rpm
yum install -y https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/postgresql11-server-11.4-1PGDG.rhel6.x86_64.rpm
[edit]
Replace the 11.4 in each link above with any version you need available at https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-6-x86_64/
sudo yum update
sudo amazon-linux-extras install postgresql11
Looks like there's no PostgreSQL 11 pre-built binary distribution for Amazon Linux. The way I solve it was to build from source code:
wget https://ftp.postgresql.org/pub/source/v11.5/postgresql-11.5.tar.gz
tar zxvf postgresql-11.5.tar.gz
cd postgresql-11.5
./configure --without-readline
make
make install
By default, it will install pg_dump into /usr/local/pgsql/bin/pg_dump.
This is an extended version of #nitsujri answer. I can't comment their comment, so I will create new answer here.
Install prerequisites:
sudo yum install readline-devel
sudo yum group install "Development Tools"
Download PostgreSQL source code and install the distro:
wget https://ftp.postgresql.org/pub/source/v11.5/postgresql-11.5.tar.gz
tar zxvf postgresql-11.5.tar.gz
cd postgresql-11.5
./configure
make
sudo make install
Add this line to your ~/.bashrc. After that relogin to an EC2 instance.
export PATH=/usr/local/pgsql/bin:$PATH

How to install rabbitmq on Amazon Linux?

I am trying to install rabbitmq on Amazon Linux. It has Erlang R14B04 already installed. But rabbitmq gives error while installing from downloaded rpm package.
Requires: erlang >= R16B-03
So I installed Erlang R16B03 from repo provided by rabbitmq.
This is located at usr/local/bin/erl and system erlang is at usr/bin/erl.
When I install rabbitmq from downloaded rpm package by executing
sudo yum install rabbitmq-server-3.6.9-1.el6.noarch.rpm
It automatically uses usr/bin/erl. Is there any way I could force it to use usr/local/bin/erl?
I am following the official documentation for rabbitmq.
sudo yum install erlang --enablerepo=epel
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.1.1/rabbitmq-server-3.1.1-1.noarch.rpm
sudo rpm -Uvh rabbitmq-server-3.1.1-1.noarch.rpm
Enable managament plugin
sudo rabbitmq-plugins enable rabbitmq_management

How To Restore a Missing Redis Service

I installed an older version of Redis on a CentOS server. I tried to remove that old version and update it to latest version, but it seems that the redis service is gone and the new version installation doesn't reproduce it. Is there any way I can uninstall the Redis completely and make a fresh install? Otherwise, is there any way I can reinstall Redis service? When I check service list, I see redis in the list but when I execute service Redis restart, it says "unrecognized service".
Do you want to remove redis old package you can use yum remove command as below.
yum remove redis
then check it still available as below
rpm -qi redis
and also check files
rpm -ql redis
if its there you can remove as below.
rpm -e redis
(or you can mention package full name with versions)
then you can install new version which you want.
wget -r --no-parent -A 'epel-release-*.rpm' http://dl.fedoraproject.org/pub/epel/7/x86_64/e/
rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-*.rpm
then run
yum install redis
or you can download rpm and install it as below
rpm -ivh redis-"version".rpm
but better to use yum because its going with all dependences.
You might try init 1 then init 5 to take the system to single user then back to gui thus restarting all services in case your Redis is relying upon another service. Also do this as SU.

Resources