George's picture

i am unable to see my plugins on plugin manager on etherpad admin, also when i try to install plugin from command line i get the following error.

npm ERR! Error: Hostname/IP doesn't match certificate's altnames
npm ERR!     at SecurePair.<anonymous> (tls.js:1379:23)
npm ERR!     at SecurePair.EventEmitter.emit (events.js:92:17)
npm ERR!     at SecurePair.maybeInitFinished (tls.js:982:10)
npm ERR!     at [as _read] (tls.js:469:13)
npm ERR!     at (_stream_readable.js:320:10)
npm ERR!     at EncryptedStream.write [as _write] (tls.js:366:25)
npm ERR!     at doWrite (_stream_writable.js:223:10)
npm ERR!     at writeOrBuffer (_stream_writable.js:213:5)
npm ERR!     at EncryptedStream.Writable.write (_stream_writable.js:180:11)
npm ERR!     at write (_stream_readable.js:583:24)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <>

npm ERR! System Linux 3.10.10
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "ep_*ep_desktop_notifi      cations*"
npm ERR! cwd /opt/etherpad/local/etherpad/etherpad-lite
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.3.24

Please see below the settings of my settings.json

  This file must be valid JSON. But comments are allowed

  Please edit settings.json, not settings.json.template
  // Name your instance!
  "title": "Etherpad",

  // favicon default name
  // alternatively, set up a fully specified Url to your own favicon
  "favicon": "favicon.ico",
  //IP and port which etherpad should bind at
  "ip": "",
  "port" : 9001,

  // Session Key, used for reconnecting user sessions
  // Set this to a secure string at least 10 characters long.  Do not share this value.
  "sessionKey" : "",

  // Node native SSL support
  // this is disabled by default
  // make sure to have the minimum and correct file access permissions set
  // so that the Etherpad server can access them

  "ssl" : {
            "key"  : "/path-to-your/epl-server.key",
            "cert" : "/path-to-your/epl-server.crt"


  //The Type of the database. You can choose between dirty, postgres, sqlite and mysql
  //You shouldn't use "dirty" for for anything else than testing or development
  "dbType" : "dirty",
  //the database specific settings
  "dbSettings" : {
                   "filename" : "var/dirty.db"
  /* An Example of MySQL Configuration
   "dbType" : "mysql",
   "dbSettings" : {
                    "user"    : "root",
                    "host"    : "localhost",
                    "password": "",
                    "database": "store"
  //the default text of a pad
  "defaultPadText" : "Welcome to 92Trade collaborative pad.\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows you to collaborate seamlessly on documents.\n",
  /* Users must have a session to access pads. This effectively allows only group pads to be accessed. */
  "requireSession" : false,

  /* Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. */
  "editOnly" : false,
  /* if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly,
     but makes it impossible to debug the javascript/css */
  "minify" : true,

  /* How long may clients use served javascript code (in seconds)? Without versioning this
     may cause problems during deployment. Set to 0 to disable caching */
  "maxAge" : 21600, // 60 * 60 * 6 = 6 hours
  /* This is the path to the Abiword executable. Setting it to null, disables abiword.
     Abiword is needed to advanced import/export features of pads*/  
  "abiword" : "/usr/bin/abiword",
  /* This setting is used if you require authentication of all users.
     Note: /admin always requires authentication. */
  "requireAuthentication": false,

  /* Require authorization by a module, or a user with is_admin set, see below. */
  "requireAuthorization": false,

  /* Users for basic authentication. is_admin = true gives access to /admin.
     If you do not uncomment this, /admin will not be available! */

  "users": {
    "admin": {
      "password": "xxxxx",
      "is_admin": true
    "user": {
      "password": "xxxxxxx",
      "is_admin": false

  // restrict transport methods
  "socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
  /* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
  "loglevel": "INFO",
  //Logging configuration. See log4js documentation for further information
  // You can add as many appenders as you want here:
  "logconfig" :
    { "appenders": [
        { "type": "console"
        //, "category": "access"// only logs pad access
      , { "type": "file"
      , "filename": "your-log-file-here.log"
      , "maxLogSize": 1024
      , "backups": 3 // how many log files there're gonna be at max
      //, "category": "test" // only log a specific category
      , { "type": "logLevelFilter"
        , "level": "warn" // filters out all log messages that have a lower level than "error"
        , "appender":
          {  Use whatever appender you want here  }
      , { "type": "logLevelFilter"
        , "level": "error" // filters out all log messages that have a lower level than "error"
        , "appender":
          { "type": "smtp"
        , "subject": "An error occured in your EPL instance!"
        , "recipients": ","
        , "sendInterval": 60*5 // in secs -- will buffer log messages; set to 0 to send a mail for every message
        , "transport": "SMTP", "SMTP": { // see
            "host": "", "port": 465,
            "secureConnection": true,
            "auth": {
                "user": "",
                "pass": "bar_foo"
    ] }


Add new comment