IIS 7.0 에서 에러 발생시

이미지
1) IIS 7.0 설치후 아래와 같은 에러가 발생하는 경우가 있는데, 한 서버에서 웹사이트를 여러개 설정한 경우 발생하였다. 확인을 해보니 IIS 설치시 IUSR, Users 계정이 IIS 한개에 하나만 올라오는데 여러개의 application이 있는 경우 각각 IUSR, Users 계정을 추가하고 권한을 줘야한다. 2) Farpoin t spread를 올렸는데 Invalid Xml이라는 문구가 나오고 소스를 보면  Html tag가 전부나오지 않고 짤린것 처럼 나온다.  IIS 에서 Request Filtering 을 더블 클릭한다. 오른쪽에 있는 Edit Feature Settings 를 클릭후 Request Limits 의 값을 최대값인 4294967295 로 설정한다 . 3) 500 에러가 발생하고 DB 연결이 되지 않는다. ODBC로는 연결이 되는데 asp에서 DB Open이 되지 않으면 ConectionString을 의심을 해본다. 특히 IIS 7.0이전에는 잘되었는데 7.0 이후에 연결이 되지 않으면 커넥션 문을 다음과 같이 변경한다. Session("ConnectionString")= "Driver={SQL Server};Server=서버명;Database=DB명;Uid=아이디;Pwd=패스워드" 4) 원격서버에 접속이 안된다고 나오면 아래와 같이 Component Services에 Local DTC에 항목을 수정한다. 제어판->관리자도구(Administrative Tools)->구성서비스(Component Services)를 연다. Component Services->Computers->My Computer->Distributed Transaction Coordinator->Local DTC에서 마우스 오른쪽으로 속성을 확인한다. Security 탭에서 Network DTC Access를 체크하고...

django 에 Comment 사용하기

django에 기본적으로 덧글(comments) 사용할수있는 템플릿을 제공하고 있다. 덧글 작성은 버전 1.6이전까지만 지원되고 1.6부터는 별도로 설치를 해야 사용가능하다. 현재 버전이 1.6이전이면 사용하는데는 문제가 없다. 프로젝트의 url.py 에서 아래의 url을 추가하자. url(r'^comments/',include('django.contrib.comments.urls')), 그 다음 syncdb를 수행하면 테이블이 생성된다. runserver로 실행을 해보면 아래와 같이 SITE_ID의 값이 없다고 나오는데 그런 경우 settings.py 를 열어 마지막 줄에 다음고 같이 추가를 한다. settings.py SITE_ID = 1 AttributeError at /XXXXX/ 'Settings' object has no attribute 'SITE_ID' 사이트가 하나라면 값은 어떤걸 넣어도 상관이 없는것 같다. 여러개의 사이트를 운영하는 경우 사이트 아이디 값으로 유용하게 사용할 수 있다고 설명은 하고 있지만 대부분 사이트가 한개이니 기본값으로 사용하자. 그리고 settings.py 에 MIDDLEWARE_CLASSES 가 있는데 여기에 아래의 CSRF 미들웨어가 설정되어 있지않으면 CSRF 설정을 해야한다고 메세지가 뜬다. 'django.middleware.csrf.CsrfViewMiddleware', 별도로 수정하지 않았으면 문제는 없지만 혹시 csrf 설정을 하지 않으려고 막았다면 풀어야 한다. django 사이트에서 comments 로 검색하면 검색된 항목의 첫번째에 사용 예제가 나온다. 자세한 사항은 사이트를 참고하고 간단하게 사용법을 알아보자. https://docs.djangoproject.com/en/1.6/ref/contrib/comments/example/ 예제 샘플) {% lo...

heroku에서 app 이름 변경시 수정사항

heroku 사이트에 이름을 변경시 local에서 처음에 생성한 이름을 그대로 가지고 있어 git push할때 인식을 못한다. 수정하는 방법은 헤로쿠 사이트에서 확인을 해보니 아래와 같이 수정하면 된다. git remote rm heroku heroku git:remote -a 수정한app이름 Updating Git remotes If you are using the CLI to rename an app from inside the Git checkout directory, your remote will be updated automatically. If you rename from the website or have other checkouts, such as those belonging to other developers, these will need to be updated manually: $ git remote rm heroku $ heroku git:remote -a newname Replace “newname” with the new name of the app, as specified in the rename command.

django에 PostgreSQL 설치하기

이미지
sqlite3을 사용하다가 웹서비스에 올리기 위해 찾던중 PostgreSQL을 지원한다는 것을 보고 설치하기로 하였다. PostgreSQL을 사용하기 위해서는 아래의 psycopg가 필요하다. 아래의 링크에서 windows x86버전의 파이썬버전에 맞게 설치한다. psycopg 는 PostgreSQL을 파이썬에서 사용하기 위한 DB 어댑터로 장고 프로젝트의 셋팅에 사용한다. http://www.stickpeople.com/projects/python/win-psycopg/ exe 파일을 다운받아 설치를 한다. 아래 사이트에서 postgresql을 다운로드 받는다. Windows 를 클릭하고 다운로드를 한다. postgresql-9.3.4-3-windows.exe 파일을 다운 후 설치를 한다. http://www.postgresql.org/download/ 설치는 다음만 누르면 기본으로 설치된다. 이제 장고 프로젝트의 설정을 변경하자. settings.py 파일을 열어 아래와 같이 추가하자. sqllite 구문은 주석으로 막고 아래와 같이 DB backend로 postgresql_psycopg2 추가하였다. 그리고 NAME은 데이터베이스 이름, DB 아이디와, 패스워드를 추가한다. DATABASES = { ##    'default': { ##        'ENGINE': 'django.db.backends.sqlite3', ##        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), ##    }     'default': {         'ENGINE': 'django.db.backends.postgresql_psycopg2',         'NAME': '...

django를 apache에 구동하기

아파치 사이트에 접속한다. http://httpd.apache.org/ 아파치는 2.2 버전대를 다운로드 하였다. 아래 링크로 접속하면 바로 windows 용을 다운로드 하는 페이지로 이동한다. http://mirror.apache-kr.org//httpd/binaries/win32/ SSL은 필요 없어 기본으로 아래의 파일을 다운로드 받았다. httpd-2.2.25-win32-x86-no_ssl.msi 설치는 간단하여 생략. exe 파일을 실행하고 다음버튼만 누르면 기본 셋팅된다. 장고를 구동하기 위해서는 mod_wsgi를 다운받아야한다. mod_wsgi-win32-ap22py27-3.3 로 검색을 하거나 아래 링크에서 다운을 받는다. https://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-win32-ap22py27-3.3.so mod_wsgi-win32-ap22py27-3.3.so 파일이 생성되는데 파일의 이름을 mod_wsgi.so로 수정한다. 아파치가 설치되어있는 기본폴더에 modules에 mod_wsgi.so 파일을 복사한다. C:\Program Files\Apache Software Foundation\Apache2.2\modules C:\Program Files\Apache Software Foundation\Apache2.2\conf 폴더에 있는 httpd.conf 파일을 열어 마지막에 아래와 같이 추가한다. 아래와 같이 모듈을 로드하면 장고를 실행해준다. ## 장고 추가 설치 경로 #WSGI Setting for Django LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias / d:/django_blog/apache/django.wsgi <Directory "d:/django_blog/apache"> Order deny,allow Allow...

django 에 static file 경로 위치

django에서 runserver로 수행할때는 static file 경로를 잘 인식하였는데 apache로 서버에 올리니 static 파일 경로를 제대로 찾지 못해 찾던중 아래와 같이 해결되어 올립니다. django에서 collectstatic 등 여러가지 방법으로 해도 url을 제대로 못찾았는데 아무래도 apache 에서 httpd.conf 파일에서 static 으로 url이 시작되면 아래의 경로로 찾게 alias 구문을 넣으니 해결이 되었다. 아래 빨간색 참조. setting.py 에서 수정 STATIC_URL = '/static/' STATIC_ROOT = '' STATICFILES_DIRS = (     'D:/django_blog/static', ) # List of finder classes that know how to find static files in # various locations. STATICFILES_FINDERS = (     'django.contrib.staticfiles.finders.FileSystemFinder',     'django.contrib.staticfiles.finders.AppDirectoriesFinder', ) apache에서 httpd.conf 파일수정 ## 장고 추가 설치 경로 #WSGI Setting for Django LoadModule wsgi_module modules/mod_wsgi.so WSGIScriptAlias / d:/django_blog/apache/django.wsgi <Directory "d:/django_blog/apache"> Order deny,allow Allow from all </Directory> Alias /robots.txt d:/django_blog/apache/static/robots....

MS SQL 에서 AES 256 암호키 생성시

삭제는 생성과 반대로 drop SYMMETRIC KEY <symmetrickey_id> drop CERTIFICATE <certificate_id> drop MASTER KEY 암호용키생성 IF NOT EXISTS (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = <idvalue>)     CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'keyvalue....' GO 인증서 생성 CREATE CERTIFICATE <certificate_id> WITH SUBJECT = 'subject........'; GO 대칭키를 인증서로 암호 CREATE SYMMETRIC KEY <symmetrickey_id> WITH ALGORITHM = AES_256,      KEY_SOURCE = 'ENC_KEY',      IDENTITY_VALUE = 'ENC_VALUE_Key' ENCRYPTION BY CERTIFICATE <certificate_id>; GO 키 사용권한 부여 USE databasename; GRANT CONTROL ON SYMMETRIC KEY::<symmetrickey_id> TO usersqlid; USE databasename; GRANT CONTROL ON CERTIFICATE ::<certificate_id> TO usersqlid;