اگر نمی دونید zammad چیه به تعریفی که خوده سایتش کرده یه نگاه می اندازیم.
Zammad is a web-based, open source user support/ticketing solution.
از zammad می تونید به عنوان یه چت آنلاین برای وب سایت خودتون استفاده کنید ولی قابلیت های خیلی بیشتری از یه چت داره البته بیشتر برای کار هار درون سازمانی انجام میشه از فیچر های دیگه هم voip ربات تلگرام و ... اشاره کنم .
(باید بگم که فیچر هایی که شرکت ها و برنامه ای دیگه ای ارايه می دهند خیلی بهتر و بیشتر از چت zammad هست پس انتظار زیادی نداشته باشید اگر صرفا به دنبال چت خوب براس سایتتون هستید tidio رو بهتون معرفی می کنم.)
طبق document سایتش چندین راه برای نصبش وجود داره اگر centos یا ubuntu یا debian و .. استفاده می کنید خیلی راحت repository اضافه و نصبش می کنید. البته باید بگم elasticsearch جز پیش نیاز های این برنامه هست و اگر روی سیستمون نداشته باشید بهتون خطا میده و اجاز نصب ندارید.
ممکمه بخواید این برنامه رو روی داکر بیارید بالا در حالی که سرویس elasticsearch شما روی یه کانتینر دیگه در حال اجرا باشه پس چه طور مشکل رو حل کنیم ؟؟ (در ادامه)
توی document قسمتی هست به نام install from source مراحل نصب رو از اونجا شروع میکنیم.
من از debian 10 و mysql استفاده میکنم برای نصب توضیحات اضافی دیگه ام نمیارم و صرفا command ها رو می نویسم.
$ docker run -it --name zammad -p 80:3000 --link elasticsearch debian $ apt-get update $ apt-get install -y nano vim curl wget git patch build-essential bison zlib1g-dev libssl-dev libxml2-dev libxml2-dev sqlite3 libsqlite3-dev autotools-dev libxslt1-dev libyaml-0-2 autoconf automake libreadline-dev libyaml-dev libtool libgmp-dev libgdbm-dev libncurses5-dev pkg-config libffi-dev gnupg default-libmysqlclient-dev gawk nginx libimlib2-dev procps $ useradd zammad -m -d /opt/zammad -s /bin/bash $ echo "export RAILS_ENV=production" >> /opt/zammad/.bashrc $ echo "export RAILS_SERVE_STATIC_FILES=true" >> /opt/zammad/.bashrc $ su - zammad $ curl -O https://ftp.zammad.com/zammad-latest.tar.gz $ tar -xzf zammad-latest.tar.gz $ rm zammad-latest.tar.gz $ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB $ curl -L https://get.rvm.io | bash -s stable $ source /opt/zammad/.rvm/scripts/rvm $ echo "source /opt/zammad/.rvm/scripts/rvm" >> /opt/zammad/.bashrc $ echo "rvm --default use 2.5.5" >> /opt/zammad/.bashrc $ rvm install 2.5.5 $ gem install bundler $ bundle install --without test development postgres # for Mysql # bundle install --without test development mysql # for postgresql $ cp config/database/database.yml config/database.yml $ vi config/database.yml # username, password of database $ rake db:create $ rake db:migrate $ rake db:seed $ rake assets:precompile $ rails s -p 3000 &>> log/zammad.log & $ script/websocket-server.rb start &>> log/zammad.log & $ script/scheduler.rb start &>> log/zammad.log & $ exit $ cp /opt/zammad/contrib/nginx/zammad.conf /etc/nginx/sites-available/zammad.conf $ vi /etc/nginx/sites-available/zammad.conf #change localhost to ip $ ln -s /etc/nginx/sites-available/zammad.conf /etc/nginx/sites-enabled/zammad.conf $ systemctl restart nginx
برای متصل کردنش به elasticsearch هم می تونید ازاین قسمت راهنمایی بگیرید (step 3)
در نهایت می تونید کانتینر رو کامیت کنید و داشته باشینش
برای همه مراحل هم می تونید یه داکر فایل درست کنید که راحت باشید :)