Git Product home page Git Product logo

Comments (17)

marcstreeter avatar marcstreeter commented on May 22, 2024

while I'm not qualified to write the Readme as I still haven't got it to work properly (probably because I don't think Zulip agrees with self signed certs) I can at least pass along the steps that got me the farthest in the install process on ubuntu 14. Feel free to point out errors/solutions.

install python dependencies

sudo apt-get install python-setuptools python-virtualenv python-dev

install others

apt-get install libffi-dev memcached rabbitmq-server libldap2-dev redis-server postgresql-server-dev-all libmemcached-dev
apt-get install postgresql-9.3
wget https://dl.dropboxusercontent.com/u/283158365/zuliposs/postgresql-9.3-tsearch-extras_0.1.2_amd64.deb
dpkg -i postgresql-9.3-tsearch-extras_0.1.2_amd64.deb

generate self certs

openssl genrsa -des3 -passout pass:x -out server.pass.key 2048
openssl rsa -passin pass:x -in server.pass.key -out zulip.key
rm server.pass.key
openssl req -new -key zulip.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey zulip.key -out zulip-combined-chain.crt

cp zulip.key /etc/ssl/private/zulip.key; cp zulip-combined-chain.crt /etc/ssl/certs/zulip-combined-chain.crt

edit host file (for rabbitmq)

hostname and hostname -f have values necessary

vi etc/hosts # put in hostname and hostname -f values after 127.0.0.1 localhost

/etc/init.d/rabbitmq-server start
/etc/init.d/rabbitmq-server status # should say running

get zulip

wget https://www.zulip.com/dist/releases/zulip-server-1.3.3.tar.gz
tar -xzf zulip-server-1.3.3.tar.gz
mv zulip-server-1.3.3 zulip
cd zulip

install pip requirements

pip install -r requirements.txt

install zulip

./scripts/setup/install

input mandatory values

vi /etc/zulip/settings.py # change all the email settings
su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database

from zulip.

timabbott avatar timabbott commented on May 22, 2024

On the front of self-signed certs, you can make Zulip happy as follows:

apt-get install ssl-cert
cd /etc/ssl/private
ln -s ssl-snake-oil.key zulip.key
cd /etc/ssl/certs
ln -s ssl-snak-oil.pem zulip.combined-chain.crt

from zulip.

timabbott avatar timabbott commented on May 22, 2024

Also the "install pip requirements" step is unnecessary and probably will lead to confusion since -- scripts/setup/install installs all the Python dependencies via apt, so that will just create duplicate copies of all the dependencies on the system...

from zulip.

timabbott avatar timabbott commented on May 22, 2024

(And thanks for doing this writeup!)

from zulip.

marcstreeter avatar marcstreeter commented on May 22, 2024

awesome - I'll try the updated steps tonight to see if it works for me

from zulip.

phillip-white-sociomantic avatar phillip-white-sociomantic commented on May 22, 2024

I would also add the step to check the locals. Some installs have failed because of this.

Check configured locals
locale

List installed local
locale -a

Install any missing
sudo locale-gen de_DE.UTF-8

from zulip.

ipernet avatar ipernet commented on May 22, 2024

For docker-based setup from ubuntu:trusty

  • Ensure the Docker deamon is started after setting max open files > 40000 (ulimit -n 100000) because Zulip's supervisord.conf has 40000 hardcoded in it.

Docker containers will inherit this limit and Zulip requires it.

  • From ubuntu:trusty, at least install first the en_US.UTF-8 locale before running the install (else postgresql will fail starting)

# locale-gen en_US.UTF-8

ref: https://github.com/zulip/zulip/blob/master/puppet/zulip/files/postgresql/postgresql.conf.template#L495

  • Ensure to run your Zulip docker container with an explicit hostname (--hostname my-zullip)

from zulip.

phillip-white-sociomantic avatar phillip-white-sociomantic commented on May 22, 2024

I just tried the above install steps. When running "su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database" i get this error.

root@zulip:~# su zulip -c /home/zulip/deployments/current/scripts/setup/initialize-database
++ dirname /home/zulip/deployments/current/scripts/setup/initialize-database
+ cd /home/zulip/deployments/current/scripts/setup/../..
+ python manage.py checkconfig
/home/zulip/deployments/current/scripts/setup/initialize-database: line 6: 1653 Segmentation fault
(core dumped) python manage.py checkconfig

I am running Ubuntu 14.04 on Digital Ocean

Also, I had to install git. That should be included in the first steps.

from zulip.

timabbott avatar timabbott commented on May 22, 2024

I've never seen that before; might be a corrupted disk or bad RAM.

from zulip.

rfilmyer avatar rfilmyer commented on May 22, 2024

Do we have any updates on this? I see that people have been tweaking @marcstreeter's writeup, and I'm going to quickly try to get it working this morning following the instructions of everyone here.

from zulip.

timabbott avatar timabbott commented on May 22, 2024

@rfilmyer I think at this point the only piece that isn't now handled by the README.md instructions or the install script is making sure the user's hostname file is in good shape.

from zulip.

rfilmyer avatar rfilmyer commented on May 22, 2024

Doesn't the install script only cover an install on an Ubuntu system where it's the only thing running? Is there install documentation for if someone doesn't fit into that case?

The website says to either install automatically, or ask the mailing list. Is there an opportunity to contribute documentation for a manual install?

from zulip.

timabbott avatar timabbott commented on May 22, 2024

That's right, the production installation process currently only works for Ubuntu and assumes it's the only thing running.

There isn't installation documentation for other setups. If we wanted to add support for more platforms to the install script, that would be a manageable task which mostly requires work on packaging the right versions of dependencies and then adding some conditionals to the installation script code.

Making it friendly to install on a system where other stuff is running is a different challenge. There are two major issues involved: (1) Making the installation process not stomp over other configuration (mostly relevant for our dependency database services like redis, postgres, etc.) and (2) Adding an uninstallation process so that one can clean up their server afterwards (see e.g. #188).

I'm not excited about trying to do a "manual installation" process for production since I think it'd be relatively error-prone; I'd be more excited about the direction of building packages for Zulip that Just Work for the various platforms.

from zulip.

timabbott avatar timabbott commented on May 22, 2024

(If you're interested in working on any of those projects I'd be happy to provide guidance!)

from zulip.

souravbadami avatar souravbadami commented on May 22, 2024

@timabbott -- Do we have postgresql-9.3-tsearch-extras_0.1.2 for 32 bit system (Deb) ?

from zulip.

timabbott avatar timabbott commented on May 22, 2024

We have 0.1.3 built for 32-bit in the Zulip PPA:

https://launchpad.net/~tabbott/+archive/ubuntu/zulip/+files/postgresql-9.3-tsearch-extras_0.1.3_i386.deb

from zulip.

timabbott avatar timabbott commented on May 22, 2024

As a sidenote, I think all the items in this issue have been fixed, so I'm closing this. If anyone feels something is missing, though, please let me know!

from zulip.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.