This is the old version of the website for the Stacks project. It enabled a comment system, an improved tag lookup, and a full-powered online view of its contents. This project is no longer maintained.
Please visit the Gerby project to read about the current version.
Below you will find rough instructions to create a local copy of the Stacks project website on your system. Requirements:
- Apache with mod-rewrite and php enabled
- php-sqlite
- UNIX command line tools, in particular make, python, and git
- a recent version of TeX Live (2012 or later is fine)
- a directory
base
- the url
https://localhost:8080
points tobase/stacks-website
Here are the instructions:
-
clone
stacks-website
usinggit clone https://github.com/stacks/stacks-website
-
change directories to
stacks-website/
and initialize the submodules usinggit submodule init
andgit submodule update
-
change directories to
stacks-website/
and clone the Stacks project into the (not yet existing)tex/
subdirectory usinggit clone git:https://github.com/stacks/stacks-project tex
-
change one occurence of
https://stacks.math.columbia.edu/tag/
instacks-website/tex/scripts/tag_up.py
to `https://localhost:8080/tag/ -
run
make tags
instacks-website/tex/
-
clone
stacks-tools
in thebase
directory usinggit clone https://github.com/stacks/stacks-tools
-
change directories to
stacks-tools
and create the database by callingpython create.py
-
back in the
base
directory execute the following commands:mkdir stacks-website/database chmod 0777 stacks-website/database mv stacks-tools/stacks.sqlite stacks-website/database chmod 0777 stacks-website/database/stacks.sqlite
This will create a directory with the database in it with the correct permissions for the webserver. To set permissions for the cache correctly execute
chmod 0777 stacks-website/php/cache
-
change directory into stacks-website and edit the file
conf.ini
setting database = "database/stacks.sqlite", directory = "", and project = "/path/to/base/stacks-website/tex" -
sanity check: at this point if you point your browser to
https://localhost:8080
you should not get an error concerning the database -
get the correct styling in EpicEditor by executing
ln -s ../../../../../css/stacks-editor.css js/EpicEditor/epiceditor/themes/editor/stacks-editor.css ln -s ../../../../../css/stacks-preview.css js/EpicEditor/epiceditor/themes/preview/stacks-preview.css
from the stacks-website
directory
-
make XyJax work by editing the last line of
stacks-website/js/XyJax/extensions/TeX/xypic.js
and replacingMathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/xypic.js");
byMathJax.Ajax.loadComplete("/js/XyJax/extensions/TeX/xypic.js");
-
change directories to
stacks-tools
and update the database by callingpython update.py
as well aspython macros.py
-
create a directory
stacks-website/data
by executingmkdir stacks-website/data
, change directories tostacks-tools
, and create the graph files by callingpython graphs.py
Please contact the maintainer or create an issue if you encounter problems.
- Update the
stacks-website/tex
folder usinggit pull
- run
make tags
as in step 5 above - Run steps 13 and 14 above