The new documentation for how to deploy Etherpad Lite on Windows is available here — You should refer to this.
BELOW IS THE OLD DOCUMENTATION FOR ETHERPAD FULL
Grab the latest Etherpad .zip from http://etherpad.org and extract to c:\etherpad
Download and install Cygwin from http://www.cygwin.com/ – use defaults
Download Scala from http://www.scala-lang.org/sites/default/files/linuxsoft_archives/downloads/distrib/files/scala-2.7.7.final.zip and extract to c:\etherpad\scala-2.7.7
Download and install MySQL server from http://dev.mysql.com/downloads/mysql/
Create a MySQL database “etherpad” and a database user “etherpad”
Download the MySQL connector from http://dev.mysql.com/downloads/mirror.php?id=402367 and extract to c:\etherpad\mysql-connector-java-5.1.16
Download Java from http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html and extract to c:\etherpad\JDK1.6_23
Open Cygwin (doubleclick on icon)
Change directory to Etherpad:
cd /cygdrive/c/Etherpad/
Copy the Libraries from one folder to another (temp fix):
cp /cygdrive/c/Etherpad/infrastructure/lib/* /cygdrive/c/Etherpad/infrastructure/ace/lib
Begin your build (if this errors check your task manager and check there are no java instances running that may cause a conflict):
bin/build.sh
Copy the default config to the correct location:
cp etherpad/etc/etherpad.localdev-default.properties etherpad/etc/etherpad.local.properties
Edit etherpad/etc/etherpad.local.properties and set
etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad
etherpad.SQL_PASSWORD = yoursqlpassword
etherpad.SQL_USERNAME = etherpad
etherpad.adminPass = somestrongpassword
topdomains = yourhostname.com,localhost
You can now run etherpad via:
bin/run.sh
Access your Etherpad server at:
http://localhost:9000/
BELOW IS THE OLD DOCUMENTATION THAT I AM LEAVING FOR THE SAKE OF HISTORY AND FOR REFERENCE. DAVE. WE CAME A LONG WAY DAVE.. IT’S BEEN EMOTIONAL :~
Below is my documentation that is sketchy, you should follow this guide instead.
In Windows:
– Install Java, Scala, MySQL, mysqlconnector and Mercurial under Windows.
– JAVA should be set to the java executable.
– JAVA_HOME should be set to the main jdk directory.
– SCALA should be set to the scala executable.
– SCALA_HOME should be set to the main scala distribution directory.
– PATH should contain $JAVA, $SCALA, and mysql
– MYSQL_CONNECTOR_JAR should be set to the mysql-connector JAR file included in the mysql-connector download.
– Install Cygwin.
These Files are needed in /etherpad/trunk/ since the archive holds files both in the etherpad and the infrastructure subfolder.
- Make a backup of your bin folder
- Extract the contents of the above .Rar file to the bin folder
- Run bin/rebuildjar.sh
- After installation run bin/run-local.sh
See also:
Etherpad-win repository all props to Gyokuro: http://bitbucket.org/gyokuro/etherpad-win/overview/
Etherpad-win wiki all props to Gyokuro: http://bitbucket.org/gyokuro/etherpad-win/wiki/)
Hi John,
thank for the adjusted files. I had still no luck in running rebuildjar.
Could it be problematic that I'm using the windows installed java? I also run mysql from the windows xampp package.
Do you or anyone could get the standalone pne (personal network edition) running?
There is a thread in google groups with patches but I couldn't puzzle it together.
The standalone jar would be awesome, would run in all environments, has build in derby db and you could use mysql as option.
If you have time and interest we could talk about it.
I just updated the files today, let me know if you still have a problem, we are working on this on IRC, freenode.net #etherpad
Hi John,
thank for the updated files.
What java version do you use, have you exported the the windows directory as JAVA_HOME?
Whats your IRC nick, and at what time (GMT+0 since you are in the UK) are you typically online?
My IRC Nick is JohnMcLear – I'm on always and I have pidgin on that account so just pmsg me and it will beep me
Etherpad PNE working on windows with cygwin. The progress can be followed at googlegroups:
http://groups.google.com/group/etherpad-open-source-discuss/browse_thread/thread/9fa93d03ab33db3e
Tested on:
Os: Microsoft Windows XP Professional x64 Edition Version 2003 Service Pack 2
Cygwin: 1.7.1-1
Java:java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) 64-Bit Server VM (build 16.0-b13, mixed mode)
Application Server: Apache Tomcat 6.0.24 Server
Database: MySQL 5.1.43-winx64
Post questions there, attach your system specs and any output with your errors.
Step 1:
Read carfully the offical installing instructions:
http://code.google.com/p/etherpad/wiki/Instructions
Step 2:
Check the file rights we encountered problems on a windows 7 box with enabled UAC.
We recommend windows XP with admin/write rights.
Step 3:
Install
cygwin (http://www.cygwin.com/)
java (http://java.sun.com/javase/downloads/widget/jdk6.jsp)
scala (http://www.scala-lang.org/downloads)
mysql server (http://dev.mysql.com/downloads/mysql/5.1.html#downloads)
mysql connector (http://dev.mysql.com/downloads/connector/j/)
I would recommend to install all programs in a path which contains no spaces.
If you wan't to install everything in your "Program Files" or any other folder with spaces,
you can use one of the following tricks:
Use junction from sysinternals (http://download.sysinternals.com/Files/Junction.zip)
and create on your NTFS! drive a Win2K NTFS symbolic link like C:\Progs.
Use the environment variable %ProgramFiles% or the dos short path "c:\progra~1"
Windows environment variables
Make sure under "Control Panel->System->Advanced->Environment Variables"
to setup your path correctly with all of the following:
C:\YourPathTo\Java\jdk1.6.0_18\bin
C:\YourPathTo\Scala\bin
C:\YourPathTo\MySQL\MySQL Server 5.1\bin
C:\YourPathTo\mysql-connector-java-5.1.10-bin.jar
Replace your YourPathTo with the actual path on your machine.
Pull the source with mercurial and apply the fixed files from:
http://primaryschoolict.com/epad_cygwin.rar
Step 4:
Fire up the cygwin shell from the startmenu
Set up the following Export pathes
export JAVA_HOME="C:\YourPathTo\Java\jdk1.6.0_18"
export SCALA_HOME="C:\YourPathTo\scala"
export JAVA="C:\YourPathTo\Java\jdk1.6.0_18\bin\java"
export SCALA="C:\YourPathTo\scala\bin\scala"
export MYSQL_CONNECTOR_JAR="C:\YourPathTo\mysql-connector-java-5.1.10-bin.jar"
Replace your YourPathTo with the actual path on your machine.
Step 5:
Setup mysql database
# create the etherpad mysql db and privelidges
mysql -u root -p
# enter your password when prompted
create database etherpad;
grant all privileges on etherpad.* to 'etherpad'@'localhost' identified by 'password';
quit
(Source: http://www.mclear.co.uk/2009/12/installing-etherpad-on-debian.html)
Step 6:
Navigate to YourEtherpadPath/trunk/etherpad and run
bin/rebuild-jar.sh
If you encounter a cp error
open C:\YourEtherpadPath\trunk\infrastructure\bin\
replace the lines:
cp ${MYSQL_CONNECTOR_JAR} lib/
cp ${MSSQL_CONNECTOR_JAR} lib/
with:
cp `cygpath -u "${MYSQL_CONNECTOR_JAR}"` lib/
#cp `cygpath -u "${MYSQL_CONNECTOR_JAR}"` lib/
After a successful run
bin/run-local.sh
Finally I want to thank Jutsi, mad props for your excellent work to adjust the paths in the source whenever needed and I also want to thank JohnMcLear for support and motivation.
I intend to put up a repository under http://bitbucket.org/gyokuro/etherpad-win/
This repositoy should contain a fixed package usable out of the box.
Perhaps we can also create a version with batch files, that compiles without the cygwin shell.
-Gyokuro
Thank you all.
Last minor problem:
“$ bin/makejar.sh: line 44: jar: command not found”
solved by exporting:
PATH=$JAVA_HOME/bin:$PATH
export PATH
I’m having a slight issue, any help?
$ ./rebuildjar.sh
using cached JAR…
compiling…
compiling with ‘fsc’…
compiling common…
Note: net.appjet.common\util\HttpServletRequestFactory.java uses or overrides a deprecated API
.
Note: Recompile with -Xlint:deprecation for details.
Note: net.appjet.common\util\HttpServletRequestFactory.java uses unchecked or unsafe operation
s.
Note: Recompile with -Xlint:unchecked for details.
bin/comp.sh: line 76: fsc: command not found
which: no growlnotify in (C:\Java\jdk1.6.0_19/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/e/Col
dfusion9/verity/k2/_nti40/bin:/cygdrive/e/ColdFusion8/verity/k2/_nti40/bin:/cygdrive/c/WINDOWS
/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/Nmap
)
Hello,
I’m using the latest trunk from http://bitbucket.org/gyokuro/etherpad-win end I’m having the following error while compiling under CYGWIN:
$ ./bin/rebuildjar.sh
unzipping JARs…
java.io.FileNotFoundException: cygdrivecEtherpadscalalibscala-library.jar
(Le chemin d’accÞs spÚcifiÚ est introuvable)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at java.io.FileInputStream.(FileInputStream.java:66)
at sun.tools.jar.Main.run(Main.java:238)
at sun.tools.jar.Main.main(Main.java:1149)
but when I do a ls of the SCALA path everything is ok:
$ ls $SCALA_HOME/lib/scala-library.jar
/cygdrive/c/Etherpad/scala/lib/scala-library.jar
Do anybody knows how to fix the forward/back slash issue ?
try double blackslash?
OK!
I fixed my problem with the following line in the makejar.sh:
$JAR xf `cygpath -wp $SCALA_HOME/lib/scala-library.jar`
to be continued!
I install etherpad on windows, while trying to rebuild the file the following error occured
how to solve this problem
$ bin/rebuildjar.sh
which: no fastjar in (/usr/local/Java/jdk1.6.0_21/bin:/usr/local/Java/jdk1.6.0_2
1/bin:/usr/local/MySQL/MySQLServer5.1/bin:/usr/local/Java/jdk1.6.0_21/bin:/usr/l
ocal/scala/scala-2.8.0.final/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOW
S/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Pro
gram Files/QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/Mercurial/:/
cygdrive/c/Program Files/MySQL/MySQL Server 5.1/bin)
using JAR jar…
unzipping JARs…
java.io.FileNotFoundException: \usr\local\scala\scala-2.8.0.final\lib\scala-libr
ary.jar (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at java.io.FileInputStream.(FileInputStream.java:66)
at sun.tools.jar.Main.run(Main.java:238)
at sun.tools.jar.Main.main(Main.java:1149)
which: no growlnotify in (/usr/local/Java/jdk1.6.0_21/bin:/usr/local/Java/jdk1.6
.0_21/bin:/usr/local/MySQL/MySQLServer5.1/bin:/usr/local/Java/jdk1.6.0_21/bin:/u
sr/local/scala/scala-2.8.0.final/bin:/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WI
NDOWS/system32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c
/Program Files/QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/Mercuria
l/:/cygdrive/c/Program Files/MySQL/MySQL Server 5.1/bin)
Where to inserrt this command
JAR xf `cygpath -wp $SCALA_HOME/lib/scala-library.jar`
While at the time of rebuild the file the following error occurs
$ ./bin/rebuildjar.sh
which: no fastjar in (/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/system32:
/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Files/
QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/Mercurial/:/usr/bin:/us
r/local/java/jdk1.6.0_21/bin:/usr/local/scala/scala-2.8.0.final/bin:/usr/local/M
ySQL/MySQLServer5.1/bin:/usr/local/mysql-connector-java-5.1.13/mysql-connector-j
ava-5.1.13-bin:/cygdrive/c/Program Files/apache-tomcat-7.0.2/apache-tomcat-7.0.2
/bin:/usr/lib/lapack)
using JAR jar…
lib/mysql-connector-java-5.1.13-bin.jar has changed, rebuilding JAR
unzipping JARs…
making cached JAR….
compiling…
compiling with ‘fsc’…
compiling common…
net.appjet.common\util\HttpServletRequestFactory.java:19: package javax.servlet.
http does not exist
import javax.servlet.http.HttpServletRequest;
^
net.appjet.common\util\HttpServletRequestFactory.java:20: package javax.servlet.
http does not exist
import javax.servlet.http.HttpServletResponse;
^
net.appjet.common\util\HttpServletRequestFactory.java:45: cannot find symbol
symbol : class HttpServletRequest
location: class net.appjet.common.util.HttpServletRequestFactory
public static HttpServletRequest createRequest(String uri, Map headers,
^
net.appjet.common\util\HttpServletRequestFactory.java:51: cannot find symbol
symbol : class HttpServletRequest
location: class net.appjet.common.util.HttpServletRequestFactory
public static HttpServletRequest createRequest(HttpServletRequest req)
^
net.appjet.common\util\HttpServletRequestFactory.java:51: cannot find symbol
symbol : class HttpServletRequest
location: class net.appjet.common.util.HttpServletRequestFactory
public static HttpServletRequest createRequest(HttpServletRequest req)
^
net.appjet.common\util\HttpServletRequestFactory.java:65: cannot find symbol
symbol : class HttpServletResponse
location: class net.appjet.common.util.HttpServletRequestFactory
public static HttpServletResponse createResponse() {
^
net.appjet.common\util\HttpServletRequestFactory.java:36: cannot find symbol
symbol : class HttpServletRequest
location: class net.appjet.common.util.HttpServletRequestFactory.RequestResponse
public final HttpServletRequest request;
^
net.appjet.common\util\HttpServletRequestFactory.java:37: cannot find symbol
symbol : class HttpServletResponse
location: class net.appjet.common.util.HttpServletRequestFactory.RequestResponse
public final HttpServletResponse response;
^
net.appjet.common\util\HttpServletRequestFactory.java:39: cannot find symbol
symbol : class HttpServletRequest
location: class net.appjet.common.util.HttpServletRequestFactory.RequestResponse
private RequestResponse(HttpServletRequest req, HttpServletResponse res)
{
^
net.appjet.common\util\HttpServletRequestFactory.java:39: cannot find symbol
symbol : class HttpServletResponse
location: class net.appjet.common.util.HttpServletRequestFactory.RequestResponse
private RequestResponse(HttpServletRequest req, HttpServletResponse res)
{
^
net.appjet.common\util\HttpServletRequestFactory.java:80: cannot find symbol
symbol : class HttpServletRequest
location: class net.appjet.common.util.HttpServletRequestFactory
private static class InnerHttpServletRequest implements HttpServletRequest {
^
net.appjet.common\util\HttpServletRequestFactory.java:148: package javax.servlet
.http does not exist
public javax.servlet.http.Cookie[] getCookies() { return new javax.servl
et.http.Cookie[0]; }
^
net.appjet.common\util\HttpServletRequestFactory.java:174: package javax.servlet
.http does not exist
public javax.servlet.http.HttpSession getSession(boolean create) { retur
n null; }
^
net.appjet.common\util\HttpServletRequestFactory.java:175: package javax.servlet
.http does not exist
public javax.servlet.http.HttpSession getSession() { return null; }
^
net.appjet.common\util\HttpServletRequestFactory.java:194: package javax.servlet
does not exist
public javax.servlet.ServletInputStream getInputStream() throws java.io.
IOException{
^
net.appjet.common\util\HttpServletRequestFactory.java:232: package javax.servlet
does not exist
public javax.servlet.RequestDispatcher getRequestDispatcher(String path)
{ return null; }
^
net.appjet.common\util\HttpServletRequestFactory.java:240: cannot find symbol
symbol : class HttpServletResponse
location: class net.appjet.common.util.HttpServletRequestFactory
private static class InnerHttpServletResponse implements HttpServletResponse
, ServletAccessor {
^
net.appjet.common\util\HttpServletRequestFactory.java:259: package javax.servlet
.http does not exist
public void addCookie(javax.servlet.http.Cookie cookie) { }
^
net.appjet.common\util\HttpServletRequestFactory.java:282: package javax.servlet
does not exist
private final javax.servlet.ServletOutputStream sostream =
^
net.appjet.common\util\HttpServletRequestFactory.java:295: package javax.servlet
does not exist
public javax.servlet.ServletOutputStream getOutputStream() { return sost
ream; }
^
net.appjet.common\util\HttpServletRequestFactory.java:148: package javax.servlet
.http does not exist
public javax.servlet.http.Cookie[] getCookies() { return new javax.servl
et.http.Cookie[0]; }
^
net.appjet.common\util\HttpServletRequestFactory.java:195: package javax.servlet
does not exist
return new javax.servlet.ServletInputStream() {
^
net.appjet.common\util\HttpServletRequestFactory.java:283: package javax.servlet
does not exist
new javax.servlet.ServletOutputStream() {
^
23 errors
which: no growlnotify in (/usr/local/bin:/usr/bin:/bin:/cygdrive/c/WINDOWS/syste
m32:/cygdrive/c/WINDOWS:/cygdrive/c/WINDOWS/System32/Wbem:/cygdrive/c/Program Fi
les/QuickTime Alternative/QTSystem:/cygdrive/c/Program Files/Mercurial/:/usr/bin
:/usr/local/java/jdk1.6.0_21/bin:/usr/local/scala/scala-2.8.0.final/bin:/usr/loc
al/MySQL/MySQLServer5.1/bin:/usr/local/mysql-connector-java-5.1.13/mysql-connect
or-java-5.1.13-bin:/cygdrive/c/Program Files/apache-tomcat-7.0.2/apache-tomcat-7
.0.2/bin:/usr/lib/lapack)
How to over come this problem.
@RAMKUMAR:
try using scala v2.7.4 it should clear out most of the error you’re having.
Following up on my issues, here is what I got so far:
$ ./bin/rebuildjar.sh
lib/mysql-connector-java-5.1.13-bin.jar has changed, rebuilding JAR
unzipping JARs…
making cached JAR….
compiling…
compiling with ‘fsc’…
using cached common…
compiling sars…
java.lang.NoClassDefFoundError: scala/collection/Seq
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.getConstructor(Class.java:1657)
at scala.tools.nsc.plugins.Plugin$.instantiate(Plugin.scala:149)
at scala.tools.nsc.plugins.Plugins$$anonfun$loadRoughPluginsList$1.apply
(Plugins.scala:29)
at scala.tools.nsc.plugins.Plugins$$anonfun$loadRoughPluginsList$1.apply
(Plugins.scala:28)
at scala.List.map(List.scala:812)
at scala.tools.nsc.plugins.Plugins$class.loadRoughPluginsList(Plugins.sc
ala:28)
at scala.tools.nsc.Global.loadRoughPluginsList(Global.scala:34)
at scala.tools.nsc.plugins.Plugins$class.roughPluginsList(Plugins.scala:
38)
at scala.tools.nsc.Global.roughPluginsList(Global.scala:34)
at scala.tools.nsc.plugins.Plugins$class.loadPlugins(Plugins.scala:91)
at scala.tools.nsc.Global.loadPlugins(Global.scala:34)
at scala.tools.nsc.plugins.Plugins$class.plugins(Plugins.scala:123)
at scala.tools.nsc.Global.plugins(Global.scala:34)
at scala.tools.nsc.plugins.Plugins$class.computePhaseDescriptors(Plugins
.scala:155)
at scala.tools.nsc.Global.computePhaseDescriptors(Global.scala:34)
at scala.tools.nsc.Global.phaseDescriptors(Global.scala:442)
at scala.tools.nsc.Global$Run.(Global.scala:490)
at scala.tools.nsc.StandardCompileServer.session(CompileServer.scala:118
)
at scala.tools.util.SocketServer$$anonfun$run$1.apply(SocketServer.scala
:81)
at scala.tools.util.SocketServer$$anonfun$run$1.apply(SocketServer.scala
:81)
at scala.util.DynamicVariable.withValue(DynamicVariable.scala:73)
at scala.Console$.withOut(Console.scala:84)
at scala.Console$.withOut(Console.scala:102)
at scala.tools.util.SocketServer.run(SocketServer.scala:80)
at scala.tools.nsc.StandardCompileServer.main(CompileServer.scala:157)
at scala.tools.nsc.CompileServer.main(CompileServer.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at scala.tools.nsc.ObjectRunner$$anonfun$run$1.apply(ObjectRunner.scala:
75)
at scala.tools.nsc.ObjectRunner$.withContextClassLoader(ObjectRunner.sca
la:49)
at scala.tools.nsc.ObjectRunner$.run(ObjectRunner.scala:74)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:154)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
Caused by: java.lang.ClassNotFoundException: scala.collection.Seq
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
… 38 more
error: fatal error (server aborted): scala/collection/Seq
one error found
And i’m running the following version:
JAVA: jdk1.6.0_21
SCALA: scala-2.7.7.final
mysql-connector-java-5.1.13-bin.jar
If somebody could point me in the right direction.
OK the errors I got above, get fixed by re-installing my SCALA version… might have been some leftovers from the v2.8.
Thank you
Mr. cortechs
BTW when you change your version of SCALA or whatever dependency version for that matter, don’t forget to use the clearcache option.
./bin/rebuildjar.sh clearcache
please can you help me in this problem
I followed your instructions
but when I come to $ bin/build.sh
the result is:
-bash: bin/build.sh: No such file or directory
please tell me what to do
i am running win7
thanks in advance
Dr.Amal
http://etherpad.org/2011/08/11/installing-etherpad-lite-on-windows/
Please see
http://etherpad.org/2011/08/11/installing-etherpad-lite-on-windows/